-
Notifications
You must be signed in to change notification settings - Fork 6.2k
8357563: Shenandoah headers leak un-prefixed defines #25392
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
|
👋 Welcome back stefank! A progress list of the required criteria for merging this PR into |
|
@stefank 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 58 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.
Yes, this is fine. These should never have been in global scope, especially in the header that can easily be transitively included.
Actually, I would question even the type-casted triad, and probably a single constant would instead do. Leave it to a follow-up, if present problem blocks current development.
|
FWIW, this doesn't block us, it just requires us to use a name that doesn't follow our naming convention, so if you have a better solution I'm OK with waiting for that. |
|
Nah, current version is fine. Folding this triad into a single constant would likely require dealing with signed-unsigned comparisons, casts back to enums, all that jazz. That would be a good starter task for our engineers. |
kimbarrett
left a comment
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.
|
Thanks for reviewing! I'll go ahead and integrate this now. |
|
Going to push as commit 68ee06f.
Your commit was automatically rebased without conflicts. |
We hit a compilation error in ZGC when we defined a constant NumPartitions. This happened because there is a define name NumPartitions inside shenandoahFreeSet.hpp. I propose that this (and its friends) are hid inside the ShenandoahRegionPartitions class, which is the only user of these defines. An alternative would be to prefix the define with something that is unlikely to clash with other parts of HotSpot.
This PR is my suggestion for a change to solve this so this name conflict. Does this seem like an acceptable solution, or do you want something else? Thanks!
Progress
Issue
Reviewers
Reviewing
Using
gitCheckout this PR locally:
$ git fetch https://git.openjdk.org/jdk.git pull/25392/head:pull/25392$ git checkout pull/25392Update a local copy of the PR:
$ git checkout pull/25392$ git pull https://git.openjdk.org/jdk.git pull/25392/headUsing Skara CLI tools
Checkout this PR locally:
$ git pr checkout 25392View PR using the GUI difftool:
$ git pr show -t 25392Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/25392.diff
Using Webrev
Link to Webrev Comment