RFR: 8223056: Remove Type-Stable-Memory support for Parkers [v3]

David Holmes dholmes at openjdk.java.net
Thu Jan 21 01:54:18 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 with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains four additional commits since the last revision:

 - Merge branch 'master' into 8223056-tsm-Parkers
 - Rename PlatformParker event Handle to _ParkHandle as used in PlatformEvenbt
 - Address Coleen's nit.
   Move _counter field to Posix PlatformParker class.
   Rename _ParkEvent to _ParkerEvent on Windows
 - 8223056: Remove Type-Stable-Memory support for Parkers

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/2089/files
  - new: https://git.openjdk.java.net/jdk/pull/2089/files/6fc33e97..7a1c692c

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=2089&range=02
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=2089&range=01-02

  Stats: 44663 lines in 1278 files changed: 17988 ins; 18991 del; 7684 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