RFR: 8365190: Remove LockingMode related code from share

Fredrik Bredberg fbredberg at openjdk.org
Thu Sep 4 10:13:43 UTC 2025


On Wed, 3 Sep 2025 07:16:06 GMT, David Holmes <dholmes at openjdk.org> wrote:

>> Since the integration of [JDK-8359437](https://bugs.openjdk.org/browse/JDK-8359437) the `LockingMode` flag can no longer be set by the user. After that, a number of PRs has been integrated which has removed all `LockingMode` related code from all platforms (except from zero, which is done in this PR).
>> 
>> This PR removes `LockingMode` related code from the shared (non-platform specific) files. It also removes the `LockingMode` variable itself.
>> 
>> Passes tier1-tier5 with no added problems.
>
> src/hotspot/share/c1/c1_LIRGenerator.cpp line 638:
> 
>> 636:   LIR_Opr hdr = lock;
>> 637:   lock = new_hdr;
>> 638:   CodeStub* slow_path = new MonitorExitStub(lock, true, monitor_no);
> 
> It seems all creators for `MonitorExitStub` now pass `true` so that parameter can be removed.

Good find! But this affects platform files, and since I want to keep this PR clean of platform changes, I have added this to the [next cleanup](https://bugs.openjdk.org/browse/JDK-8365191).

> src/hotspot/share/runtime/basicLock.hpp line 40:
> 
>> 38:   // Used as a cache of the ObjectMonitor* used when locking. Must either
>> 39:   // be nullptr or the ObjectMonitor* used when locking.
>> 40:   volatile uintptr_t _metadata;
> 
> So this could now be a properly typed and named field. Future RFE.

I have added this to the [next cleanup](https://bugs.openjdk.org/browse/JDK-8365191).

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

PR Review Comment: https://git.openjdk.org/jdk/pull/27041#discussion_r2321521296
PR Review Comment: https://git.openjdk.org/jdk/pull/27041#discussion_r2321526089


More information about the hotspot-dev mailing list