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

Reply via email to