You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
openjdk version "17.0.13" 2024-10-15
IBM Semeru Runtime Open Edition 17.0.13.11 (build 17.0.13+11)
Eclipse OpenJ9 VM 17.0.13.11 (build openj9-0.48.0, JRE 17 Mac OS X aarch64-64-Bit 20241015_726 (JIT enabled, AOT enabled)
OpenJ9 - 1d5831436e
OMR - d10a4d553
JCL - d17dd58f8d7 based on jdk-17.0.13+11)
Summary of problem
When running with -XX:-IgnoreUnrecognizedXXColonOptions, certain XX options (such as -XX:+MergeCompilerOptions) are unrecognized, eg:
java -XX:-IgnoreUnrecognizedXXColonOptions -XX:+MergeCompilerOptions -version
JVMJ9VM007E Command-line option unrecognised: -XX:+MergeCompilerOptions
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
even though the option is recognized and works:
java -XX:-MergeCompilerOptions -Xjit:version -Xjit:disableProfiling -version
openjdk version "17.0.13" 2024-10-15
IBM Semeru Runtime Open Edition 17.0.13.11 (build 17.0.13+11)
Eclipse OpenJ9 VM 17.0.13.11 (build openj9-0.48.0, JRE 17 Mac OS X aarch64-64-Bit 20241015_726 (JIT enabled, AOT enabled)
OpenJ9 - 1d5831436e
OMR - d10a4d553
JCL - d17dd58f8d7 based on jdk-17.0.13+11)
java -XX:+MergeCompilerOptions -Xjit:version -Xjit:disableProfiling -version
JIT: using build "Nov 7 2024 15:38:46"
JIT level: j9jit_20241107_1538_jenkins
openjdk version "17.0.13" 2024-10-15
IBM Semeru Runtime Open Edition 17.0.13.11 (build 17.0.13+11)
Eclipse OpenJ9 VM 17.0.13.11 (build openj9-0.48.0, JRE 17 Mac OS X aarch64-64-Bit 20241015_726 (JIT enabled, AOT enabled)
OpenJ9 - 1d5831436e
OMR - d10a4d553
JCL - d17dd58f8d7 based on jdk-17.0.13+11)
I believe this is because checkArgsConsumed is invoked before the JIT_INITIALIZED stage (which is when the MergeCompilerOptions option is consumed).
Should checkArgsConsumed be called after?
The text was updated successfully, but these errors were encountered:
I suppose an alternative might be for the JIT to find and consume all options (ie, iterate over the J9::options::_externalOptionString table) in the DLL_LOAD_TABLE_FINALIZED stage.
Assigned initially to JIT, but I don't see why the call to checkArgsConsumed() can't be moved down after the JIT_INITIALIZED stage. It looks to be an easy change.
Java -version output
Summary of problem
When running with
-XX:-IgnoreUnrecognizedXXColonOptions
, certain XX options (such as-XX:+MergeCompilerOptions
) are unrecognized, eg:even though the option is recognized and works:
I believe this is because
checkArgsConsumed
is invoked before theJIT_INITIALIZED
stage (which is when theMergeCompilerOptions
option is consumed).Should
checkArgsConsumed
be called after?The text was updated successfully, but these errors were encountered: