RFR: 8352918: Shenandoah: Verifier does not deactivate barriers as intended
William Kemper
wkemper at openjdk.org
Wed Mar 26 19:21:17 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.)
-------------
Commit messages:
- Fix verifier's gc_state resettter
Changes: https://git.openjdk.org/jdk/pull/24264/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=24264&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8352918
Stats: 8 lines in 2 files changed: 7 ins; 0 del; 1 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