RFR: 8302741: ZGC: Remove Universe::verify calls

Thomas Schatzl tschatzl at openjdk.org
Mon Feb 20 16:49:25 UTC 2023


On Mon, 20 Feb 2023 10:10:46 GMT, Stefan Karlsson <stefank at openjdk.org> wrote:

> 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.

Marked as reviewed by tschatzl (Reviewer).

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

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


More information about the hotspot-gc-dev mailing list