Details
-
Bug
-
Resolution: Unresolved
-
P4
-
8u251, 15, 16
-
generic
-
generic
Description
Continuous deoptimization w/ Reason_unstable_if and Action_none happeded in an online application and significant performance drop was observed.
It seems this bug is triggered when
1. Too many deoptimizations happened in a method.
2. In the last recompilation, Reason_unstable_if Action_reinterpret uncommon traps were changed to Reason_unstable_if Action_none.
3. The uncommon traps were executed but this method never recompiled.
To reproduce:
javac DeoptimizationTest.java
java -XX:PerMethodRecompilationCutoff=4 DeoptimizationTest
PerMethodRecompilationCutoff is used to make it easier to reproduce and is not used in the above online application.
It seems this bug is triggered when
1. Too many deoptimizations happened in a method.
2. In the last recompilation, Reason_unstable_if Action_reinterpret uncommon traps were changed to Reason_unstable_if Action_none.
3. The uncommon traps were executed but this method never recompiled.
To reproduce:
javac DeoptimizationTest.java
java -XX:PerMethodRecompilationCutoff=4 DeoptimizationTest
PerMethodRecompilationCutoff is used to make it easier to reproduce and is not used in the above online application.