RFR: 8329764: G1: Handle null references during verification first [v2]

Stefan Karlsson stefank at openjdk.org
Fri Apr 5 12:24:09 UTC 2024


On Fri, 5 Apr 2024 12:09:35 GMT, Thomas Schatzl <tschatzl at openjdk.org> wrote:

>> Hi all,
>> 
>>   please review this change that suggests to move the null reference check in object iteration during heap verification first.
>> 
>> The reason is as stated, since null references are fairly common (not only in that test mentioned in https://bugs.openjdk.org/browse/JDK-8329314), it may make sense to put it first. Also, null references never fail anyway (and verification failure is supposed to be uncommon).
>> 
>> Improves total runtime of that test case from 3s (~3.9s cpu time) to 2.2s (~3.1s cpu time).
>> 
>> If you think it makes the code too ugly, I will retract it.
>> 
>> Testing: gha, local testing.
>
> Thomas Schatzl has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase.

> > I integrated the simplest version of #18595 now. I still think it would be nice to clean away the assert(_containing_obj...) with my proposed changes. Should I do that? Or do you have some other plan for it?
> 
> I am good with moving the `assert` too (not sure if it is worth an extra change or adding it here); however this change, i.e. moving the condition, would improve performance beyond moving the assert as shown above.
> 
> The other changes from you about extracting the failure counter could be done as well - when refactoring this verification code the last time the extra 30 LOC or so did not seem worth to me, but the code is already fairly large.
> 
> There are no further plans from me to improve verification performance further, apart from maybe filing a CR to parallelize verification of large object arrays.
> 
> Does that answer your questions?

I had hoped for a more clear yes or no. :)

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

PR Comment: https://git.openjdk.org/jdk/pull/18650#issuecomment-2039657735


More information about the hotspot-gc-dev mailing list