[9] RFR(XS): 8172010: [AOT] RecompilationTest.java fails with "expected compilation level after compilation to be no less than 1"
Tobias Hartmann
tobias.hartmann at oracle.com
Wed Jan 4 07:52:21 UTC 2017
Hi,
please review the following patch:
https://bugs.openjdk.java.net/browse/JDK-8172010
http://cr.openjdk.java.net/~thartmann/8172010/webrev.00/
The test fails with tiered AOT because an AOT compiled method is not recompiled after reaching the invocation threshold. This behavior is caused by probabilistic profiling of using the rdtsc (read timestamp counter) instruction:
30e6: rdtsc
30e8: test $0xff, %eax
30ee: je 3118 <compiler.whitebox.SimpleTestCaseHelper.<init>(I)V+0x78>
If we are very unlucky, we don't branch while executing the method in the CompilerWhiteBoxTest::compile() loop and therefore never notify the tiered compilation system to recompile the method. Turning probabilistic profiling off (or setting -Dgraal.TierAInvokeProfileProbabilityLog=0), fixes this testbug.
Tested on failing platform and with RBT.
Thanks,
Tobias
More information about the hotspot-compiler-dev
mailing list