> The interface on oopDesc and the markWord w.r.t. the locking bits have grown 
> overtime the names do not reflect what they actually do, there are multiple 
> ways of asking for the same property.
> 
> The properties `is_locked` and `is_unlocked` are misleading. As the answer 
> true of false does not necessarily reflect the locking state of the object. I 
> suggest we use a single terminology `is_fast_locked` to mean the locking bits 
> are locked using lightweight non-monitor locking and `is_neutral` to mean the 
> locking bits are in the prototype state.
> 
> Using `is_fast_unlocked` could be an alternative to `is_neutral`, but 
> `is_neutral` captures the state better of being an object which is currently 
> not taking part in locking. However the name does not make it obvious that it 
> is referring to the locking state / mark state. Not 100% on this naming, and 
> how the comments and code which uses these constants in the MacroAssembler 
> should name and deal with this.
> 
> Also cleaned up the C1 and C2 Valhalla header bits checks which were gated on 
> the locking bits. There is not more displaced header so conditionally 
> checking the prototype header in the Klass* is not needed.
> 
> Testing (in progress):
> * Tier 1-5 Oracle supported platforms
> * GHA
> 
> ---------
> - [x] I confirm that I make this contribution in accordance with the [OpenJDK 
> Interim AI Policy](https://openjdk.org/legal/ai).

Axel Boldt-Christmas has updated the pull request incrementally with one 
additional commit since the last revision:

  Removed the assert, we have other checks for inconsistent locking

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/32544/files
  - new: https://git.openjdk.org/jdk/pull/32544/files/c147c598..4a7cdd6c

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=32544&range=02
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=32544&range=01-02

  Stats: 2 lines in 1 file changed: 0 ins; 2 del; 0 mod
  Patch: https://git.openjdk.org/jdk/pull/32544.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/32544/head:pull/32544

PR: https://git.openjdk.org/jdk/pull/32544

Reply via email to