RFR: 8301988: VerifyLiveClosure::verify_liveness asserts on bad pointers outside heap [v3]
Albert Mingkun Yang
ayang at openjdk.org
Thu Feb 9 17:38:48 UTC 2023
On Thu, 9 Feb 2023 17:08:03 GMT, Thomas Schatzl <tschatzl at openjdk.org> wrote:
>> Hi all,
>>
>> can I have reviews for this change to liveness verification that fixes some unwanted asserts because
>>
>> - it uses decode_not_null which will assert if the given oop address is not in the heap, making the remainder of the verification useless in that case
>> - if the referenced object is not in the heap, we try to get its heap region too when printing, which also fails some assertions
>> - in the innermost if lots of code is duplicated in both cases
>>
>> The first two issues are really annoying (there is another one when the `Klass` is garbage when calling `is_obj_dead_cond`, but I'll try to improve that separately).
>>
>> Testing: local compilation/testing, gha
>>
>> Thanks,
>> Thomas
>
> Thomas Schatzl has updated the pull request incrementally with one additional commit since the last revision:
>
> remove one level of indentation in do_oop_work
Marked as reviewed by ayang (Reviewer).
src/hotspot/share/gc/g1/heapRegion.cpp line 518:
> 516:
> 517: oop obj = CompressedOops::decode_raw_not_null(heap_oop);
> 518: bool failed = false;
Unused.
-------------
PR: https://git.openjdk.org/jdk/pull/12456
More information about the hotspot-gc-dev
mailing list