-
Notifications
You must be signed in to change notification settings - Fork 5.8k
JDK-8307810: Consistently use LockingMode instead of UseHeavyMonitors #13900
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
JDK-8307810: Consistently use LockingMode instead of UseHeavyMonitors #13900
Conversation
@MBaesken @TheRealMDoerr could you test this please on your CI and check if this fixes ppcle and s390? Thanks! |
👋 Welcome back stuefe! A progress list of the required criteria for merging this PR into |
Webrevs
|
I put it into our internal test queue . |
Looks like the build fails now in arguments.cpp on a few platforms. |
Hi @tstuefe, Not sure how correct I am, but UseHeavyMonitors is not implemented for s390x, You may see an Issue open for this here. So i guess if you set UseHeavyMonitors to true for s390x, then build will fail.
@MBaesken does that include s390x ? |
Okay, I removed the setting-of-UseHeavyMonitors. We deprecated it in favour of LockingMode=0, and it is a develop flag now. I originally wanted to synchronize UseHeavyMonitors with LockingMode, but doing this only for debug makes no sense, and in release builds UseHeavyMonitors is const false. |
I referred to the github action builds above. I think there was no linux s390x build included in those. |
…d-of-useheavymonitors
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.
Sorry we missed finding the rest of the UseHeavyMonitors uses
during the work on JDK-8291555.
Switching those uses to the appropriate check of LockingMode is the
right solution. We want UseHeavyMonitors to fade into the sands of
history...
@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 13 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.
Thank you for fixing this! Works on PPC64 and avoids "assert(mark.is_neutral()) failed" when -XX:LockingMode=0 is selected.
@offamitkumar: I think s390 requires additional changes in MacroAssembler::compiler_fast_lock_object
and MacroAssembler::compiler_fast_unlock_object
, but that should probably better be done separately.
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 fine.
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.
Build/Tests are good on s390x,
Thanks for the changes :-)
Sure Martin, I'll look into. Thank you. |
Thanks @offamitkumar @TheRealMDoerr @dholmes-ora @dcubed-ojdk ! /integrate |
Going to push as commit 984fbbb.
Your commit was automatically rebased without conflicts. |
JDK-8291555 phased out UseHeavyMonitors in favor of LockingMode=0. We forgot to apply these changes to PPC and S390.
Since UseHeavyMonitors implies LockingMode, but not vice versa, we now have a mismatch if JVM is started with LockingMode=0 but without UseHeavyMonitors. That leads to crashes.
The patch fixes that, and in addition makes sure that if LockingMode=0 is set, we are setting UseHeavyMonitors too.
Progress
Issue
Reviewers
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk.git pull/13900/head:pull/13900
$ git checkout pull/13900
Update a local copy of the PR:
$ git checkout pull/13900
$ git pull https://git.openjdk.org/jdk.git pull/13900/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 13900
View PR using the GUI difftool:
$ git pr show -t 13900
Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/13900.diff
Webrev
Link to Webrev Comment