[lworld] RFR: 8369134: [lworld] We should preserve the markWord for all GCs

Paul Hübner phubner at openjdk.org
Fri Oct 17 15:54:15 UTC 2025


Hi all,

This PR follows up on changes made in [JDK-8368875](https://bugs.openjdk.org/browse/JDK-8368875). I updated the documentation to reflect the new information gained.

Furthermore, the investigation described in the issue yielded that we _must_ preserve the larval bit explicitly. I introduce a regression test. If we change the mark word preservation condition to `return (!is_unlocked() || !has_no_hash())` (i.e. what we had before), I have confirmed that we will crash a debug VM via failed assertion. Note that ZGC does not require mark word preservation. I've nonetheless decided to include it in case this behaviour is introduced later.

Testing: tiers 1-3.

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

Commit messages:
 - Flagless VM for larval test.
 - Update documentation.
 - Merge branch 'lworld' into JDK-8369134
 - Recommit the test.
 - Revert "Refactor Parallel mark handling and add test."
 - Refactor Parallel mark handling and add test.

Changes: https://git.openjdk.org/valhalla/pull/1666/files
  Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=1666&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8369134
  Stats: 117 lines in 2 files changed: 114 ins; 0 del; 3 mod
  Patch: https://git.openjdk.org/valhalla/pull/1666.diff
  Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1666/head:pull/1666

PR: https://git.openjdk.org/valhalla/pull/1666


More information about the valhalla-dev mailing list