-
Bug
-
Resolution: Fixed
-
P3
-
hs25
-
b59
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8028678 | 8 | Vladimir Ivanov | P3 | Resolved | Fixed | b117 |
JDK-8072202 | 7u85 | Vladimir Kempik | P3 | Resolved | Fixed | b01 |
JDK-8059025 | 7u80 | Vladimir Kempik | P3 | Resolved | Fixed | b03 |
JDK-8028989 | port-stage-ppc-aix | Vladimir Ivanov | P3 | Resolved | Fixed | master |
C2 may fail to delay inlining of @ForceInline methods. In case call sequence is deep enough, C2 can crash due to stack overflow.
Test case:
http://cr.openjdk.java.net/~vlivanov/8012941/webrev.00/raw_files/new/test/compiler/jsr292/DeepInliningTest.java
Compilation output:
6451 98 b DeepInliningTest::f (10 bytes)
@ 3 java.lang.invoke.LambdaForm$MH/168423058::invokeExact_MT (13 bytes) inline (hot)
@ 2 java.lang.invoke.Invokers::checkExactType (30 bytes) inline (hot)
@ 11 java.lang.invoke.MethodHandle::type (5 bytes) accessor
@ 9 java.lang.invoke.LambdaForm$MH/1450495309::convert (21 bytes) inline (hot)
@ 5 java.lang.invoke.LambdaForm$MH/1670782018::convert (22 bytes) inline (hot)
@ 5 java.lang.invoke.LambdaForm$MH/1706377736::convert (21 bytes) inline (hot)
@ 5 java.lang.invoke.LambdaForm$MH/468121027::convert (22 bytes) inline (hot)
@ 5 java.lang.invoke.LambdaForm$MH/1804094807::convert (21 bytes) inline (hot)
@ 5 java.lang.invoke.LambdaForm$MH/951007336::convert (22 bytes) inline (hot)
@ 5 java.lang.invoke.LambdaForm$MH/2001049719::convert (21 bytes) inline (hot)
@ 5 java.lang.invoke.LambdaForm$MH/1528902577::convert (22 bytes) inline (hot)
...
P3 = HLM (ILW)
I = H: VM crash
L = L: very narrow corner case
W = M: increase maximum stack size for compiler threads
Test case:
http://cr.openjdk.java.net/~vlivanov/8012941/webrev.00/raw_files/new/test/compiler/jsr292/DeepInliningTest.java
Compilation output:
6451 98 b DeepInliningTest::f (10 bytes)
@ 3 java.lang.invoke.LambdaForm$MH/168423058::invokeExact_MT (13 bytes) inline (hot)
@ 2 java.lang.invoke.Invokers::checkExactType (30 bytes) inline (hot)
@ 11 java.lang.invoke.MethodHandle::type (5 bytes) accessor
@ 9 java.lang.invoke.LambdaForm$MH/1450495309::convert (21 bytes) inline (hot)
@ 5 java.lang.invoke.LambdaForm$MH/1670782018::convert (22 bytes) inline (hot)
@ 5 java.lang.invoke.LambdaForm$MH/1706377736::convert (21 bytes) inline (hot)
@ 5 java.lang.invoke.LambdaForm$MH/468121027::convert (22 bytes) inline (hot)
@ 5 java.lang.invoke.LambdaForm$MH/1804094807::convert (21 bytes) inline (hot)
@ 5 java.lang.invoke.LambdaForm$MH/951007336::convert (22 bytes) inline (hot)
@ 5 java.lang.invoke.LambdaForm$MH/2001049719::convert (21 bytes) inline (hot)
@ 5 java.lang.invoke.LambdaForm$MH/1528902577::convert (22 bytes) inline (hot)
...
P3 = HLM (ILW)
I = H: VM crash
L = L: very narrow corner case
W = M: increase maximum stack size for compiler threads
- backported by
-
JDK-8028678 C2: compiler stack overflow during inlining of @ForceInline methods
- Resolved
-
JDK-8028989 C2: compiler stack overflow during inlining of @ForceInline methods
- Resolved
-
JDK-8059025 C2: compiler stack overflow during inlining of @ForceInline methods
- Resolved
-
JDK-8072202 C2: compiler stack overflow during inlining of @ForceInline methods
- Resolved