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