Integrated: 8302741: ZGC: Remove Universe::verify calls
Stefan Karlsson
stefank at openjdk.org
Tue Feb 21 08:26:37 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.
This pull request has now been integrated.
Changeset: 63a35012
Author: Stefan Karlsson <stefank at openjdk.org>
URL: https://git.openjdk.org/jdk/commit/63a3501273106289dba72384e570962f19264bc9
Stats: 6 lines in 1 file changed: 0 ins; 5 del; 1 mod
8302741: ZGC: Remove Universe::verify calls
Reviewed-by: ayang, tschatzl
-------------
PR: https://git.openjdk.org/jdk/pull/12653
More information about the hotspot-gc-dev
mailing list