RFR: 8302741: ZGC: Remove Universe::verify calls
Stefan Karlsson
stefank at openjdk.org
Mon Feb 20 10:17:00 UTC 2023
ZGC has both explicit verification of roots and objects, and indirect verification via `Universe::verify`. Universe::verify doesn't play that well with highly concurrent GCs, so we've had to turn off most of the calls to it. But, we still have one call to it just after non-strong reference processing. The intention was that all pointers should have been remapped and cleaned at that point, so all roots should be verifiable. However, Universe::verify also verifies non-roots (E.g. the CLD graph, which is not always a root set), and that causes problems because of finalizeble marking. After marking and non-strong reference processing, the object graph (including metadata) can have finalizable marked references, which causes the verification from Universe::verify to fail.
The proposed fix is to remove the call to Universe::heap, but still retain verification via the ZGC specific verification instead.
-------------
Commit messages:
- 8302741: ZGC: Remove Universe::verify calls
Changes: https://git.openjdk.org/jdk/pull/12653/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=12653&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8302741
Stats: 6 lines in 1 file changed: 0 ins; 5 del; 1 mod
Patch: https://git.openjdk.org/jdk/pull/12653.diff
Fetch: git fetch https://git.openjdk.org/jdk pull/12653/head:pull/12653
PR: https://git.openjdk.org/jdk/pull/12653
More information about the hotspot-gc-dev
mailing list