> 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:

  Fix AOTMappedHeapWriter::update_header_for_requested_obj

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/32535/files
  - new: https://git.openjdk.org/jdk/pull/32535/files/eb2eb516..06c40735

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=32535&range=04
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=32535&range=03-04

  Stats: 27 lines in 1 file changed: 3 ins; 16 del; 8 mod
  Patch: https://git.openjdk.org/jdk/pull/32535.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/32535/head:pull/32535

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

Reply via email to