-
Notifications
You must be signed in to change notification settings - Fork 738
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Find and consume all -X / -XX options relevant to the JIT #21126
base: master
Are you sure you want to change the base?
Conversation
@mpirvu what do you think of this proposal? If it seems ok to you, I can clean it up a bit (add doxygen comments, better commit messages) and remove the WIP. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. I think we should add, either here or in the docs, some brief instructions on how to add a new external option.
a3802b2
to
032a216
Compare
@mpirvu good for review now. |
This commit adds the ExternalOptionsMetadata struct as well as a table of this struct to contain information about External Options that the JIT processes. This commit also adds a method to find and possibly consume the options, caching the arg index. Finally, this commit adds some documentation to describe how to add a new external option. Signed-off-by: Irwin D'Souza <[email protected]>
This commit updates the JIT to use the External Options Metadata table. This ensures that all external options that are used to control JIT functionality are consumed, which prevents the JVM from terminating early with an error when -XX:-IgnoreUnrecognizedXXColonOptions is specified. Signed-off-by: Irwin D'Souza <[email protected]>
032a216
to
4f0a527
Compare
jenkins test sanity all jdk17 |
There are many failures in the tests. |
This PR addresses #21122.
The proposed change iterates over all
J9::ExternalOptions
and callsFIND_AND_CONSUME_VMARG
on the ones that are consumed by the JIT, caching the arg index. This ensures that-XX:-IgnoreUnrecognizedXXColonOptions
does not cause the JVM to terminate incorrectly.Aside from the root cause of #21122, there were several options that were only processed using
FIND_ARG_IN_VMARGS
, which would also run into the-XX:-IgnoreUnrecognizedXXColonOptions
issue; this means that simply movingcheckArgsConsumed
as I suggested in #21122 isn't a complete solution.Closes #21122