RFR: 8223056: Remove Type-Stable-Memory support for Parkers

David Holmes dholmes at openjdk.java.net
Fri Jan 15 04:41:14 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

-------------

Commit messages:
 - 8223056: Remove Type-Stable-Memory support for Parkers

Changes: https://git.openjdk.java.net/jdk/pull/2089/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2089&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8223056
  Stats: 147 lines in 9 files changed: 28 ins; 90 del; 29 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