-
Notifications
You must be signed in to change notification settings - Fork 5.8k
8257460: Further CompilerOracle cleanup #1528
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
Conversation
/label hotspot-compiler |
👋 Welcome back neliasso! A progress list of the required criteria for merging this PR into |
@neliasso |
@neliasso The |
Webrevs
|
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.
Good clean up.
@neliasso This change now passes all automated pre-integration checks. ℹ️ This project also has non-automated pre-integration requirements. Please see the file CONTRIBUTING.md for details. After integration, the commit message for the final commit will be:
You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed. At the time when this comment was updated there had been 25 new commits pushed to the
As there are no conflicts, your changes will automatically be rebased on top of these commits when integrating. If you prefer to avoid this automatic rebasing, please check the documentation for the /integrate command for further details. ➡️ To integrate this PR with the above commit message to the |
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.
Thanks for doing this cleanup!
@@ -308,26 +304,15 @@ static void register_command(TypedMethodOptionMatcher* matcher, | |||
} | |||
|
|||
template<typename T> | |||
bool CompilerOracle::has_option_value(const methodHandle& method, enum CompileCommand option, T& value, bool verify_type) { | |||
bool CompilerOracle::has_option_value(const methodHandle& method, enum CompileCommand option, T& value) { | |||
enum OptionType type = option2type(option); | |||
if (type == OptionType::Unknown) { |
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.
Could this be an assertion done inside option_matches_type?
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.
I move it out to option_matches_type so that it won't affect the hot path. I did have to add an extra check to the compiler_directives_init that uses has_option_value and sent OptionType::Unknown for options that don't have a command. But better have it there than in the common path.
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.
Good!
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.
Looks good.
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.
Okay.
/integrate |
@neliasso Since your change was applied there have been 26 commits pushed to the
Your commit was automatically rebased without conflicts. Pushed as commit 015e6e5. 💡 You may see a message that your pull request was closed with unmerged commits. This can be safely ignored. |
I got some additional feedback on 8256508: "Improve CompileCommand flag" from Claes.
The _type field in TypedMethodMatcher is not used any more. It is derived from the option.
The verify_type argument is only used from whitebox API and the check should be pushed out to that code. The check is needed because the option is passed from java as a String and we need to verify that the value type matches the option type.
The type parameter to TypedMethodMatcher::match isn't used.
Some code only used for asserts was moved into assert
Progress
Issue
Reviewers
Download
$ git fetch https://git.openjdk.java.net/jdk pull/1528/head:pull/1528
$ git checkout pull/1528