RFR: 8145270: Need to eagerly initialize JVMCI compiler under -Xcomp
Doug Simon
doug.simon at oracle.com
Sun Dec 13 21:49:46 UTC 2015
In blocking compilation mode (i.e., -UseInterpreter), certain compilations are forced to be non-blocking if a JVMCI compiler is being used (i.e., +UseJVMCICompiler). This is to prevent deadlocks than can occur between an application thread and a JVMCI compiler thread. One condition for forcing a compilation to be non-blocking is if the JVMCI compiler not yet initialized. This is problematic for tests that attempt to force a method to be compiled by JVMCI (e.g., -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler -XX:-TieredCompilation -Xcomp -XX:CompileCommand=compileonly,Tester_*::*). If the test is small enough, JVMCI initialization (which is lazy) may still be executing when the test methods are scheduled to be compiled.
The solution is to make JVMCI compiler initialization eager in blocking compilation mode.
https://bugs.openjdk.java.net/browse/JDK-8145270
http://cr.openjdk.java.net/~dnsimon/8145270/
More information about the hotspot-compiler-dev
mailing list