On Thu, 27 Aug 2026 07:28:32 GMT, Axel Boldt-Christmas <[email protected]> 
wrote:

>> Historically we have had displaced markWord's because locking (stack locks, 
>> and inflated monitors).
>> 
>> After the `UseObjectMonitorTable` removal there are no more need to protect 
>> against displaced markWords.
>> 
>> I suggest we simplify this logic and clean up the interface w.r.t. 
>> `identity_hash`.
>> 
>> Changes the `fast_no_hash_check` and `has_no_hash` into `has_identity_hash` 
>> and `has_hash` checks. 
>> As before it is invalid to read the hash on marked objects, added asserts to 
>> ensure this.
>> Rewrote `oopDesc::slow_identity_hash` to not regenerate a new hash every 
>> time it transiently fails to install the hash in the markWord due to some 
>> other header change.
>> 
>> There are a few places which right now calls `identity_hash` from develop 
>> logging / introspection printing `InstanceStackChunkKlass::print_chunk` and 
>> `Continuation::print`. It is a bit unfortunate that we have these 
>> side-effects in debug VMs. But think we should handle these in a future RFE.
>> 
>> Testing (in progress):
>> * Tier 1-3 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:
> 
>   Apply suggestion from @stefank
>   
>   Co-authored-by: Stefan Karlsson <[email protected]>

src/hotspot/share/oops/markWord.hpp line 76:

> 74: //    * valhalla reserved: Reserved for future use
> 75: //
> 76: //    Inline types cannot be locked and have a deterministic identity 
> hash based

You should split this into two sentences to make the meaning clearer.


// Inline types cannot be locked.
// They have a deterministic hash based on the immutable payload and class, 
which may be cached in the markWord.


Otherwise, it sounds like when they are locked their hash is  non-deterministic.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/32535#discussion_r3870035401

Reply via email to