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