Integrated: 8329858: G1: Make G1VerifyLiveAndRemSetClosure stateless
Stefan Karlsson
stefank at openjdk.org
Tue Apr 9 12:35:12 UTC 2024
On Mon, 8 Apr 2024 12:36:06 GMT, Stefan Karlsson <stefank at openjdk.org> wrote:
> In [JDK-8329570](https://bugs.openjdk.org/browse/JDK-8329570): 'G1: Excessive is_obj_dead_cond calls in verification' we moved the verification of the containing object so that it was done only once. We left the repeated null-check because of concerns that moving it would introduce the risk that someone in the future would miss calling `set_containing_obj` or calling it with a null object.
>
> I propose that we restructure the code to make the closure's state const and remove the set_containing_obj function so that we can feel confident that we don't hit such a bug in the future.
>
> The patch also combines the failures from verification of the oops with failures from checking the containing objects. I had a version that kept these two separate, but I don't see why we would want that. Tell me if you'd want me to reintroduce this separation.
This pull request has now been integrated.
Changeset: 5c9f0368
Author: Stefan Karlsson <stefank at openjdk.org>
URL: https://git.openjdk.org/jdk/commit/5c9f03686d77dd56c0441f9eb54b1cfcd3a49b3c
Stats: 56 lines in 1 file changed: 21 ins; 12 del; 23 mod
8329858: G1: Make G1VerifyLiveAndRemSetClosure stateless
Reviewed-by: ayang, tschatzl
-------------
PR: https://git.openjdk.org/jdk/pull/18677
More information about the hotspot-gc-dev
mailing list