RFR: 8223056: Remove Type-Stable-Memory support for Parkers [v2]
David Holmes
dholmes at openjdk.java.net
Wed Jan 20 06:18:02 UTC 2021
> 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
David Holmes has updated the pull request incrementally with one additional commit since the last revision:
Address Coleen's nit.
Move _counter field to Posix PlatformParker class.
Rename _ParkEvent to _ParkerEvent on Windows
-------------
Changes:
- all: https://git.openjdk.java.net/jdk/pull/2089/files
- new: https://git.openjdk.java.net/jdk/pull/2089/files/51157b05..6fc33e97
Webrevs:
- full: https://webrevs.openjdk.java.net/?repo=jdk&pr=2089&range=01
- incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=2089&range=00-01
Stats: 20 lines in 5 files changed: 1 ins; 5 del; 14 mod
Patch: https://git.openjdk.java.net/jdk/pull/2089.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/2089/head:pull/2089
PR: https://git.openjdk.java.net/jdk/pull/2089
More information about the hotspot-runtime-dev
mailing list