-
Notifications
You must be signed in to change notification settings - Fork 5.6k
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
8323681: SA PointerFinder code should support G1 #17691
Conversation
👋 Welcome back cjplummer! A progress list of the required criteria for merging this PR into |
@plummercj The following labels will be automatically applied to this pull request:
When this pull request is ready to be reviewed, an "RFR" email will be sent to the corresponding mailing lists. If you would like to change these labels, use the /label pull request command. |
Webrevs
|
…Not all of the mapped part of the heap is in use by regions.
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.
Seems good.
@plummercj 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 40 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.
Looks good to me.
Trivia on the output formatting:
For serial, an object not in a tlab, without verbose, I think it prints "In heap new generation:" and then nothing else.
The ":" leaves you hanging thinking it should introduce something else, so there must have been a problem showing the something else. 8-)
Maybe we should just remove the 3 colons from the serial gen printing, then we have that it looked like before?
(or hold on until we are in "if (verbose)" if we want to add them)
Ok, I've made that change. You now only get the colon during verbose output. Note that gen.priontOn() prints a leading space, so no need to put a space explicitly after the colon. |
Thanks for the reviews Thomas and Kevin! /integrate |
Going to push as commit be7cc1c.
Your commit was automatically rebased without conflicts. |
@plummercj Pushed as commit be7cc1c. 💡 You may see a message that your pull request was closed with unmerged commits. This can be safely ignored. |
This PR adds G1 support to PointerFinder/PointerLocation. Previously we only had SerialGC support. Previously for G1 addresses SA would only report that the address is "In unknown section of Java heap" with no other details. Now it provides details for G1 addresses. Here are some examples for clhsdb
threadcontext
output.threadcontext
dumps the contents of the thread's registers, some of which are often in the java heap. In the output below the first line is without verbose output and the 2nd is with:I also added an improvement to how SA deals with addresses in the TLAB. It used to only report that the address is in a TLAB and provide details about the TLAB in verbose mode. Now if verbose mode is used, the heap region information is included after the TLAB information. Here again is an example without and with verbose output:
Note at the end it indicates the address is in the Eden space, which is probably always the case for G1 TLAB addresses. For SerialGC is shows something similar.
Testing all svc test in tier1, tier2, and tier5. Currently in progress.
Progress
Issue
Reviewers
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk.git pull/17691/head:pull/17691
$ git checkout pull/17691
Update a local copy of the PR:
$ git checkout pull/17691
$ git pull https://git.openjdk.org/jdk.git pull/17691/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 17691
View PR using the GUI difftool:
$ git pr show -t 17691
Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/17691.diff
Webrev
Link to Webrev Comment