RFR: 8225631: Consider replacing muxAcquire/Release with PlatformMonitor
Daniel D.Daugherty
dcubed at openjdk.java.net
Fri Nov 13 17:44:12 UTC 2020
On Fri, 13 Nov 2020 13:43:56 GMT, Coleen Phillimore <coleenp at openjdk.org> wrote:
>> This RFE was filed a while ago to see if we could get rid of `muxAcquire/release` to reduce overall code complexity. Initially some usages seemed to suffer some slight performance loss when I tried this. However, since then all but one usage have been removed and the final case, the `gInflationLock`'s in `ObjectSynchronizer read_stable_mark` does not suffer any performance degradation. It can also use `PlatformMutex` rather than `PlatformMonitor`.
>>
>> On the plus side we remove a large chunk of complex synchronization code, we delete a `ParkEvent` per thread, and an int field per `ParkEvent` - which is good for footprint.
>>
>> Testing:
>> - GH actions
>> - mach5 tiers 1-3
>> - selected performance testing (guided by that used for JDK-8253064)
>>
>> Thanks,
>> David
>
> src/hotspot/share/runtime/synchronizer.hpp line 119:
>
>> 117:
>> 118: static const int NINFLATIONLOCKS = 256;
>> 119: static os::PlatformMutex* gInflationLocks[NINFLATIONLOCKS];
>
> Why export these? Why not keep them local to synchronizer.cpp?
I was also wondering why.
-------------
PR: https://git.openjdk.java.net/jdk/pull/1196
More information about the hotspot-runtime-dev
mailing list