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
8253270: Limit fastdebug inlining in G1 evacuation #220
Conversation
👋 Welcome back kbarrett! A progress list of the required criteria for merging this PR into |
@kimbarrett The following label 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 list. If you would like to change these labels, use 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.
Lgtm.
@kimbarrett This change now passes all automated pre-integration checks. In addition to the automated checks, the change must also fulfill all project specific requirements After integration, the commit message will be:
Since the source branch of this PR was last updated there have been 28 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 automatic rebasing, please merge ➡️ To integrate this PR with the above commit message to the |
If this workaround is needed due to a compiler bug, I think it's best to include a reference to the corresponding compiler ticket(s) so that it's possible to undo this workaround when the bug is fixed. On second thought, I wonder if it's feasible to just raise the required compiler version, assuming this bug is fixed in later versions of gcc. |
Mailing list message from Kim Barrett on hotspot-gc-dev:
I looked for an existing bug report in gcc's bug tracker, but didn't find I think the change is reasonable to leave in place permanently. It does
The JDK-8253169 failure occurs with gcc9.2, but not with gcc10.2, so may Increasing the mininum required gcc version for linux-aarch64 to 10.x |
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.
Mailing list message from Kim Barrett on hotspot-gc-dev:
Thanks. |
I see; I believe this is worth mentioning in the comments; sth like these functions should be inlined for performance reasons in release build, and should not be inlined for faster-build reasons in debug build. IOW, this new macro is not only a workaround for compiler bugs but a deliberate choice for certain purposes, which justifies its long-term presence.
I see; thank you for the info.
OK. |
Mailing list message from Kim Barrett on hotspot-gc-dev:
Thanks. |
Mailing list message from Kim Barrett on hotspot-gc-dev:
Done. |
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.
Thank you.
Mailing list message from Thomas Schatzl on hotspot-gc-dev: Hi, On 17.09.20 13:29, Kim Barrett wrote:
still good :) Thomas |
Mailing list message from Kim Barrett on hotspot-gc-dev: Thanks. |
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.
Still good.
/integrate |
@kimbarrett Since your change was applied there have been 28 commits pushed to the
Your commit was automatically rebased without conflicts. Pushed as commit f37c34d. 💡 You may see a message that your pull request was closed with unmerged commits. This can be safely ignored. |
Please review this change to G1 evacuation to prevent inlining of some functions in debug (particularly, fastdebug) builds. This reduces the size of the generated code to stay away from limits encountered with gcc when compiling for aarch64. As a side benefit, this adds more call frames that might be helpful with debugging.
Testing: tier1
Verified expected inlining on linux-x64 and linux-aarch64 in both release and fastdebug builds.
Progress
Issue
Reviewers
Download
$ git fetch https://git.openjdk.java.net/jdk pull/220/head:pull/220
$ git checkout pull/220