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

Roman Kennke rkennke at openjdk.org
Mon Apr 7 12:52:25 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)

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

Commit messages:
 - 8353849: [Lilliput] Avoid race in compact identity hashcode

Changes: https://git.openjdk.org/lilliput/pull/196/files
  Webrev: https://webrevs.openjdk.org/?repo=lilliput&pr=196&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8353849
  Stats: 9 lines in 4 files changed: 0 ins; 0 del; 9 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