-
Bug
-
Resolution: Fixed
-
P2
-
9
-
b131
The client VM (i.e., `-client`) is essentially broken right now if INCLUDE_JVMCI is defined. For example, this code in globalDefinitions.hpp:
#if defined(COMPILER2) || defined(SHARK) || INCLUDE_JVMCI
CompLevel_highest_tier = CompLevel_full_optimization, // pure C2 and tiered or JVMCI and tiered
#elif defined(COMPILER1)
CompLevel_highest_tier = CompLevel_simple, // pure C1 or JVMCI
#else
CompLevel_highest_tier = CompLevel_none,
#endif
basically means that the client VM will never actually perform any compilation (i.e., -client essentially implies -Xint). Every appearance of INCLUDE_JVMCI should be (re)audited to ensure it's not breaking the client VM like the above example. Note that this breakage happens even with -XX:-EnableJVMCI.
#if defined(COMPILER2) || defined(SHARK) || INCLUDE_JVMCI
CompLevel_highest_tier = CompLevel_full_optimization, // pure C2 and tiered or JVMCI and tiered
#elif defined(COMPILER1)
CompLevel_highest_tier = CompLevel_simple, // pure C1 or JVMCI
#else
CompLevel_highest_tier = CompLevel_none,
#endif
basically means that the client VM will never actually perform any compilation (i.e., -client essentially implies -Xint). Every appearance of INCLUDE_JVMCI should be (re)audited to ensure it's not breaking the client VM like the above example. Note that this breakage happens even with -XX:-EnableJVMCI.