[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