-
Notifications
You must be signed in to change notification settings - Fork 5.4k
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
8253278: Refactor/cleanup oopDesc::*_klass_addr #221
Conversation
👋 Welcome back shade! A progress list of the required criteria for merging this PR into |
@shipilev 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 |
/test tier1 |
objdumped
|
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.
Nice cleanup!! I'm happy to see klass_addr go. It took me a while to reconcile that klass_offset_in_bytes points to _metadata._compressed_klass but I believe it's correct, and used everywhere else so it better be.
@shipilev 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 19 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 |
/reviewers 2 |
It is a sensitive code, I'd like another reviewer. |
@shipilev |
/integrate |
@shipilev Since your change was applied there have been 19 commits pushed to the
Your commit was automatically rebased without conflicts. Pushed as commit 11c4ea9. 💡 You may see a message that your pull request was closed with unmerged commits. This can be safely ignored. |
Yes, I didn't say it was trivial so yes, you needed another reviewer, which I see you got. Also, there should be an approximate 24 hr turnaround for PRs so that all the timezones have a chance to review it. |
Asked Skara folks to implemented this recently: https://bugs.openjdk.java.net/browse/SKARA-678 |
Right now this one has the comment mentioning CMS:
But that is not true, it is used on the generic paths.
The rest are the snowballing changes:
load_klass_raw
andset_klass
:compressed_klass_addr
andklass_addr
are used where the direct access to_metadata
can be done, avoiding these methodsset_klass_release
, where we can simplify things by inlining_addr
methods directlyCHECK_SET_KLASS
macro seems too much ceremony for just two assertsNote that new code uses the universal
klass_offset_in_bytes
, that is technicallyoffset_of(..., _metadata._klass)
. This is different from the previous code, but it matches what other code is doing -- it trusts that both_metadata._klass
and_metadata._compressed_klass
are on the same offsets. I thought to add a very paranoid assert there, but decided not to.Testing:
Progress
Issue
Reviewers
Download
$ git fetch https://git.openjdk.java.net/jdk pull/221/head:pull/221
$ git checkout pull/221