RFR: 8352918: Shenandoah: Verifier does not deactivate barriers as intended [v2]

William Kemper wkemper at openjdk.org
Wed Mar 26 20:46:32 UTC 2025


> When verifying reachable objects, Shenandoah's verifier clears the `_gc_state` with the intention of deactivating barriers. However, the mechanism for this is a `friend` of the heap and does not toggle the flag to cause threads to use the value set on the verifier's safepoint. The net effect here is that the barriers are _not_ deactivated during verification. Leaving the barriers on while the verifier traverses the heap may have unintended consequences (cards marked, objects evacuated, etc.)

William Kemper has updated the pull request incrementally with one additional commit since the last revision:

  Rename saved fields so they are easier to distinguish from the heap's fields

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/24264/files
  - new: https://git.openjdk.org/jdk/pull/24264/files/64403639..2c86db47

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=24264&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=24264&range=00-01

  Stats: 7 lines in 2 files changed: 0 ins; 0 del; 7 mod
  Patch: https://git.openjdk.org/jdk/pull/24264.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/24264/head:pull/24264

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


More information about the shenandoah-dev mailing list