The -XX:+EnableJVMCI option 1) unlocks code paths in the VM related to JVMCI and 2) is required to unlock all other JVMCI options. However, 1 could be achieved by specific JVMCI options without requiring 2. Since JVMCI is experimental, these options already require -XX:+UnlockExperimentalVMOptions. Having to unlock them twice is redundant and makes for unnecessarily long command lines. For example:
java -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler ...
could be:
java -XX:+UnlockExperimentalVMOptions -XX:+UseJVMCICompiler ...
The following flags should automatically unlock the JVMCI code paths:
UseJVMCICompiler
JVMCITraceLevel
JVMCICounterSize
JVMCICountersExcludeCompiler
JVMCIUseFastLocking
JVMCINMethodSizeLimit
TraceUncollectedSpeculations
The only consistency checking that should remain is for the JVMCI flags related to the VM using JVMCI as its top tier compiler. These flags should require -XX:+UseJVMCICompiler:
BootstrapJVMCI
PrintBootstrap
JVMCIThreads
JVMCIHostThreads
java -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler ...
could be:
java -XX:+UnlockExperimentalVMOptions -XX:+UseJVMCICompiler ...
The following flags should automatically unlock the JVMCI code paths:
UseJVMCICompiler
JVMCITraceLevel
JVMCICounterSize
JVMCICountersExcludeCompiler
JVMCIUseFastLocking
JVMCINMethodSizeLimit
TraceUncollectedSpeculations
The only consistency checking that should remain is for the JVMCI flags related to the VM using JVMCI as its top tier compiler. These flags should require -XX:+UseJVMCICompiler:
BootstrapJVMCI
PrintBootstrap
JVMCIThreads
JVMCIHostThreads
- relates to
-
JDK-8203370 [JVMCI] UseJVMCICompiler should imply EnableJVMCI
-
- Resolved
-