On Tue, 11 Aug 2026 08:44:57 GMT, Fredrik Bredberg <[email protected]> 
wrote:

>> The main objectives for this PR are:
>>  1) Compact Object Headers needs the Object Monitor Table to work.
>>  2) Both Compact Object Headers 
>> ([JDK-8360700](https://bugs.openjdk.org/browse/JDK-8360700)) and Object 
>> Monitor Table ([JDK-8379782](https://bugs.openjdk.org/browse/JDK-8379782)) 
>> are now enabled by default.
>>  3) If we always use the Object Monitor Table, we will free up lots of bits 
>> in the markword, that could be of use to others (read GC).
>>  4) If we don't need to maintain any "monitor pointer in the mark word" 
>> code, we will simplify the code base.
>> 
>> Therefore this PR will remove the `UseObjectMonitorTable` flag and related 
>> code.
>> 
>> Note that this PR only removes the most obvious use of the 
>> `UseObjectMonitorTable` in the code base. This is to ease the burden on the 
>> reviewers. [JDK-8389938](https://bugs.openjdk.org/browse/JDK-8389938) has 
>> been created to finalize the work by removing the less obvious code, like no 
>> longer used mark word code in different GCs. 
>> 
>> The code has passed tier1-7 testing on supported platforms and smoke testing 
>> using QEMU on `RISC-V`, `PowerPC` and `s390`.
>> 
>> ---------
>> - [x] I confirm that I make this contribution in accordance with the 
>> [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai).
>
> Fredrik Bredberg 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 three additional 
> commits since the last revision:
> 
>  - Updated after review
>  - Merge branch 'master' into 8389325_remove_use_object_monitor_table_flag
>  - 8389325: Remove the UseObjectMonitorTable flag and related code

I found a couple more things to remove.

src/hotspot/share/runtime/synchronizer.cpp line 2174:

> 2172:   if (!UseObjectMonitorTable) {
> 2173:     // Do the old inflate and enter.
> 2174:     monitor = inflate_into_object_header(object, cause, locking_thread, 
> current);

I think you can remove the method inflate_into_object_header since it was added 
for the non-OMT case.

src/hotspot/share/runtime/synchronizer.cpp line 2207:

> 2205: }
> 2206: 
> 2207: ObjectMonitor* ObjectSynchronizer::read_monitor(markWord mark) {

Shouldn't this version of read_monitor be deleted too?

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

Changes requested by coleenp (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/32257#pullrequestreview-4905704683
PR Review Comment: https://git.openjdk.org/jdk/pull/32257#discussion_r3757511704
PR Review Comment: https://git.openjdk.org/jdk/pull/32257#discussion_r3757527996

Reply via email to