-
Notifications
You must be signed in to change notification settings - Fork 5.8k
8266891: Provide a switch to force the class space to a specific location #3969
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 stuefe! A progress list of the required criteria for merging this PR into |
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.
LGTM
@tstuefe 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 445 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.
This seems good. Small comment. Were you going to add a test or did you want this to test manually?
// the given address. This is a debug-only feature aiding tests. Due to the ASLR lottery | ||
// this may fail, in which case the VM will exit after printing an appropiate message. | ||
// Tests using this switch should cope with that. | ||
if (!FLAG_IS_DEFAULT(CompressedClassSpaceBaseAddress) && CompressedClassSpaceBaseAddress != 0) { |
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.
Don't you just have to test if CompressedClassSpaceBaseAddress != 0 , since that's the default if not set?
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.
Makes sense, I'll change that.
Thank you Coleen. I'll add a test in a follow up RFE. |
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.
This update looks good. Could you do a paranoid short test run (or have you done?) before integrating? Thanks!
Never mind, I see the git build actions were successful.
Thank you Coleen! /integrate |
@tstuefe Since your change was applied there have been 460 commits pushed to the
Your commit was automatically rebased without conflicts. Pushed as commit c9dbc4f. 💡 You may see a message that your pull request was closed with unmerged commits. This can be safely ignored. |
To test compressed Klass pointer encoding and other metaspace interna, it would be nice to be able to force location of the class space to a specific location. This would help with analysis of problems like JDK-8261552 or JDK-8265705 - errors in Klass* encoding/decoding which managed to stay unnoticed for an astonishingly long time.
For simplicity, it would be sufficient to only have this ability if CDS is disabled (Xshare=off), since CCS allocation is tied to CDS location otherwise and that would be more diffictult to disentangle.
Progress
Issue
Reviewers
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.java.net/jdk pull/3969/head:pull/3969
$ git checkout pull/3969
Update a local copy of the PR:
$ git checkout pull/3969
$ git pull https://git.openjdk.java.net/jdk pull/3969/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 3969
View PR using the GUI difftool:
$ git pr show -t 3969
Using diff file
Download this PR as a diff file:
https://git.openjdk.java.net/jdk/pull/3969.diff