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

Coleen Phillimore coleenp at openjdk.java.net
Tue Jan 19 19:01:50 UTC 2021


On Tue, 19 Jan 2021 18:48:04 GMT, Coleen Phillimore <coleenp at openjdk.org> wrote:

>> 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
>
> src/hotspot/share/runtime/park.hpp line 58:
> 
>> 56: 
>> 57:  public:
>> 58:   Parker() : PlatformParker(), _counter(0) {
> 
> nit generally when empty } is on the same line as {.

I can't find what _counter is used for.

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

PR: https://git.openjdk.java.net/jdk/pull/2089


More information about the hotspot-runtime-dev mailing list