RFR: 8365191: Cleanup after removing LockingMode related code

Coleen Phillimore coleenp at openjdk.org
Tue Sep 23 17:33:54 UTC 2025


On Tue, 23 Sep 2025 09:29:57 GMT, Fredrik Bredberg <fbredberg at openjdk.org> wrote:

> This is a general cleanup after removing `LockingMode` related code.
> It's a sub-task of [JDK-8344261](https://bugs.openjdk.org/browse/JDK-8344261).
> It includes:
> - Removing asserts that are no longer necessary, since we removed legacy locking and monitor locking.
> - Removing or rewriting comments, arguments or functions that are related to displaced headers.
> - Remove "always true" parameter from `MonitorExitStub`.
> - Re-type/name metadata in `BasicLock`.
> 
> Tier1-5 passes okay on supported platforms.
> 
> All other platforms (arm, ppc, riscv and s390) has been sanity checked using Qemu.

This looks really good with a couple of minor comments.

src/hotspot/share/jvmci/vmStructs_jvmci.cpp line 171:

> 169:   nonstatic_field(Array<Klass*>,               _data[0],                               Klass*)                                       \
> 170:                                                                                                                                      \
> 171:   volatile_nonstatic_field(BasicLock,          _monitor,                               ObjectMonitor*)                               \

I don't see any references to this in the JVMCI code either.  I assume the compiler/jvmci tests all passed with this change without any change to jvmci code.  Maybe @mur47x111  can confirm.

src/hotspot/share/runtime/vmStructs.cpp line 685:

> 683:   volatile_nonstatic_field(ObjectMonitor,      _owner,                                        int64_t)                               \
> 684:   volatile_nonstatic_field(ObjectMonitor,      _next_om,                                      ObjectMonitor*)                        \
> 685:   volatile_nonstatic_field(BasicLock,          _monitor,                                      ObjectMonitor*)                        \

Since nothing now refers to this, you can delete it from vmStructs.

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

Marked as reviewed by coleenp (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/27448#pullrequestreview-3258983275
PR Review Comment: https://git.openjdk.org/jdk/pull/27448#discussion_r2373014053
PR Review Comment: https://git.openjdk.org/jdk/pull/27448#discussion_r2373006396


More information about the serviceability-dev mailing list