RFR: 8329570: G1: Excessive is_obj_dead_cond calls in verification
Stefan Karlsson
stefank at openjdk.org
Wed Apr 3 12:25:10 UTC 2024
On Wed, 3 Apr 2024 12:06:19 GMT, Stefan Karlsson <stefank at openjdk.org> wrote:
>> I'd prefer to have a clear assert failure instead of SEGV. Maybe if we move the assert closer to its first use (`LiveChecker<T> live_check(this, _containing_obj, p, obj, _vo);`), the null-check would filter enough to gain the same perf improvement?
>
> I have an alternative that removes the set_containing_obj and instead sets it in the constructor. This way it should be enough to assert in the constructor. Please, take a look at this patch:
> https://github.com/openjdk/jdk/compare/master...stefank:jdk:8329570_is_obj_dead_cond_2
With the new G1VerifyFailureCounter in the _2 patch, we could even pull this a bit further and remove the other_failures counter:
https://github.com/openjdk/jdk/commit/8ee0b46f64bb609b4c0473fb35df47908bbeced9
https://github.com/openjdk/jdk/compare/master...stefank:jdk:8329570_is_obj_dead_cond_3
:shrug:
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/18595#discussion_r1549626944
More information about the hotspot-gc-dev
mailing list