-
Notifications
You must be signed in to change notification settings - Fork 5.3k
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
8319897: Move StackWatermark handling out of LockStack::contains #16609
8319897: Move StackWatermark handling out of LockStack::contains #16609
Conversation
👋 Welcome back stefank! A progress list of the required criteria for merging this PR into |
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.
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.
Relocation seems fine, but one request below.
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.
Update looks good! Thanks.
Thanks for reviewing! |
This passes tier1-3 |
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.
Thumbs up. Thanks for adding the assert in LockStack::contains()
since that should catch any accidental new uses. Also thanks for
documenting the testing that has been done.
The parent pull request that this pull request depends on has now been integrated and the target branch of this pull request has been updated. This means that changes from the dependent pull request can start to show up as belonging to this pull request, which may be confusing for reviewers. To remedy this situation, simply merge the latest changes from the new target branch into this pull request by running commands similar to these in the local repository for your personal fork: git checkout 8319897_StackWatermark_in_LockStack
git fetch https://git.openjdk.org/jdk.git master
git merge FETCH_HEAD
# if there are conflicts, follow the instructions given by git merge
git commit -m "Merge master"
git push |
@stefank this pull request can not be integrated into git checkout 8319897_StackWatermark_in_LockStack
git fetch https://git.openjdk.org/jdk.git master
git merge FETCH_HEAD
# resolve conflicts and follow the instructions given by git merge
git commit -m "Merge master"
git push |
…rmark_in_LockStack
@stefank 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 |
Thanks for reviewing! |
There are StackWatermark handling inside LockStack::contains. This is an indication that either:
I propose that we hoist the StackWatermark processing out of the LockStack into the code that actually performs pokes around in other thread's data. This is usually where we put the StackWatermark processing calls.
Note: that this doesn't fix a bug, it merely moves the processing code nearer the source of the problematic calls. I've found that jmm_GetThreadInfo looks straight into running thread's lock stacks without while those threads are running. That is a race that we should get rid of and I've created JDK-8319899 for that issue.
Progress
Issue
Reviewers
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk.git pull/16609/head:pull/16609
$ git checkout pull/16609
Update a local copy of the PR:
$ git checkout pull/16609
$ git pull https://git.openjdk.org/jdk.git pull/16609/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 16609
View PR using the GUI difftool:
$ git pr show -t 16609
Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/16609.diff
Webrev
Link to Webrev Comment