On Fri, 7 Aug 2026 20:08:07 GMT, Stefan Karlsson <[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). > > src/hotspot/share/runtime/objectMonitor.cpp line 352: > >> 350: ", encoded this=" INTPTR_FORMAT, object()->mark().value(), >> \ >> 351: markWord::encode(this).value()); >> 352: > > Hmm. Was this assert wrong before. Should it have been > `assert(!UseObjectMonitorTable || ...`? Would that mean that the assert would > still be useful? Ignore this. `markWord::encode()` is one of those functions that only made sense to call with the OMT. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/32257#discussion_r3749803005
