RFR: 8323809: Serial: Refactor card table verification [v2]

Albert Mingkun Yang ayang at openjdk.org
Mon Jan 22 16:00:30 UTC 2024


On Mon, 22 Jan 2024 15:18:43 GMT, Thomas Schatzl <tschatzl at openjdk.org> wrote:

>> Albert Mingkun Yang 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. The pull request contains one additional commit since the last revision:
>> 
>>   s1-card-verify
>
> src/hotspot/share/gc/serial/cardTableRS.cpp line 122:
> 
>> 120:       if (object_check.has_unmarked_oop()) {
>> 121:         guarantee(_card_table->is_dirty_for_addr(obj), "Found unmarked old-to-young pointer");
>> 122:       }
> 
> Suggestion:
> 
>       guarantee(!object_check.has_unmarked_oop(), "Found unmarked old-to-young pointer");
> 
> 
> This looks much more concise, there is no need to repeat the check imo. Please also add some information about the failing address into the message.

The `if` is required to account for imprecise-mark -- obj has no unmarked oops or obj-start is dirty.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/17447#discussion_r1462070406


More information about the hotspot-gc-dev mailing list