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). ------------- Commit messages: - 8389325: Remove the UseObjectMonitorTable flag and related code Changes: https://git.openjdk.org/jdk/pull/32257/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=32257&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8389325 Stats: 892 lines in 32 files changed: 12 ins; 547 del; 333 mod Patch: https://git.openjdk.org/jdk/pull/32257.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/32257/head:pull/32257 PR: https://git.openjdk.org/jdk/pull/32257
