-
Notifications
You must be signed in to change notification settings - Fork 37
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
Restore event descriptions immortality #253
Conversation
👋 Welcome back shade! A progress list of the required criteria for merging this PR into |
Webrevs
|
We do distinguish GLOBAL from YOUNG and OLD in generational mode. A GLOBAL collection is when we collect both OLD and YOUNG at the same time. These are generally rare. They show up, for example, if someone explicitly invokes System.gc(). |
@shipilev 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 no new commits pushed to the ➡️ To integrate this PR with the above commit message to the |
Thank you! /integrate |
Going to push as commit 9d87724. |
Upstream code has event descriptions as immortal strings for a reason: they are passed inside the logging classes, and so the references to them may outlive the scope of the current method. We have seen logs corruption because of that before, e.g. in hs_err-s
Events
section. This PR restores the immortality of event descriptions, producing const strings with macros.This also stops emitting "(GLOBAL)" for global collections, which I think is what non-generational Shenandoah mode prints. Please tell me if we still need to print "(GLOBAL)" in generational mode.
Tangentially, this also improves performance for compilers that choose to initialize the automatic storage for
char msg[1024]
, see https://isocpp.org/files/papers/P2723R0.html.Additional testing:
Progress
Reviewers
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.org/shenandoah.git pull/253/head:pull/253
$ git checkout pull/253
Update a local copy of the PR:
$ git checkout pull/253
$ git pull https://git.openjdk.org/shenandoah.git pull/253/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 253
View PR using the GUI difftool:
$ git pr show -t 253
Using diff file
Download this PR as a diff file:
https://git.openjdk.org/shenandoah/pull/253.diff
Webrev
Link to Webrev Comment