-
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
8223056: Remove Type-Stable-Memory support for Parkers #2089
Conversation
👋 Welcome back dholmes! A progress list of the required criteria for merging this PR into |
@dholmes-ora 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 /label pull request command. |
/label remove hotspot |
/label add hotspot-runtime |
@dholmes-ora |
@dholmes-ora |
Webrevs
|
Mailing list message from David Holmes on hotspot-runtime-dev: Hi Coleen, Thanks for looking at this. On 20/01/2021 5:01 am, Coleen Phillimore wrote:
Fixed.
It is the permit counter for the Parker - see the implementations of
Yes - see ObjectMonitor::ExitEpilog. We'd have to do a lot of work to be
Sorry I don't follow the connection between os_windows.hpp and BTW it struck me as a poor choice of naming to have a PlatformParker Thanks, |
Move _counter field to Posix PlatformParker class. Rename _ParkEvent to _ParkerEvent on Windows
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!
@dholmes-ora 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 |
Mailing list message from David Holmes on hotspot-runtime-dev: On 20/01/2021 5:18 pm, Robbin Ehn wrote:
Thanks for the review. David |
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! Thanks!
Mailing list message from David Holmes on hotspot-runtime-dev: On 20/01/2021 11:26 pm, Coleen Phillimore wrote:
Done. Thanks, |
/integrate |
@dholmes-ora Pushed as commit 77a4302. 💡 You may see a message that your pull request was closed with unmerged commits. This can be safely ignored. |
As per the bug report, once we ensure the calls to unpark() are guaranteed to only occur on a live thread (protected by a ThreadsListHandle) Parkers (the synchronization object underlying java.util.concurrent.LockSupport) no longer need to use type-stable-memory (TSM).
As a Parker is inherently associated with a single JavaThread, the Parker is now embedded directly in JavaThread, avoiding the need to use new/delete.
The Parker and PlatformParker classes are now simplified from a memory management perspective. I also made them NONCOPYABLE for good measure. Possibly other constraints could be applied to them such as disallowing new/delete? (Though if we go that far maybe we need a new allocation base type?).
Testing: tiers 1-3 plus additional test builds
Thanks,
David
Progress
Issue
Reviewers
Download
$ git fetch https://git.openjdk.java.net/jdk pull/2089/head:pull/2089
$ git checkout pull/2089