[master] RFR: 8353849: [Lilliput] Avoid race in compact identity hashcode [v3]

Roman Kennke rkennke at openjdk.org
Tue Apr 8 10:39:58 UTC 2025


> Multiple GC threads can concurrently update an object's mark-word (Parallel, G1 and Shenandoah). We need to be careful when doing object-size calculations and pass-through the pre-loaded, safe mark-word, instead of re-loading the mark-word from the object. In the latter case, we might read a forwarding pointer and interpret the bits as hash-bits which would lead to wrong size-calculation and crash.
> 
> Testing:
> - hotspot_gc (+UCOH)

Roman Kennke has updated the pull request incrementally with one additional commit since the last revision:

  Fix 32 bit build

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

Changes:
  - all: https://git.openjdk.org/lilliput/pull/196/files
  - new: https://git.openjdk.org/lilliput/pull/196/files/08ce0ac7..47e1ea05

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

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

PR: https://git.openjdk.org/lilliput/pull/196


More information about the lilliput-dev mailing list