RFR: 8315044: GenShen: Verifier detects clean card should be dirty [v5]
Y. Srinivas Ramakrishna
ysr at openjdk.org
Fri Sep 1 21:26:11 UTC 2023
On Fri, 1 Sep 2023 20:33:25 GMT, Kelvin Nilsen <kdnilsen at openjdk.org> wrote:
>> When a Reference object is newly discovered, it is placed onto the worker's thread-local discovered list. This sometimes results in a reference from an old object to a young object, requiring that the remembered set card-table entry be marked as dirty. This patch causes the marking to be performed.
>
> Kelvin Nilsen has updated the pull request incrementally with one additional commit since the last revision:
>
> Use card_mark_barrier() method and ShenandoahCardBarrier tests
One more change, I think? See comment in-line.
May be there is an issue with it though that I am not seeing which perhaps you might have tried already, but doesn't work?
Rest looks good.
src/hotspot/share/gc/shenandoah/shenandoahReferenceProcessor.cpp line 590:
> 588: if (heap->is_in_old(_pending_list_tail) && heap->is_in_young(former_head_of_global_list)) {
> 589: heap->mark_card_as_dirty(_pending_list_tail);
> 590: }
Can we just replace this section with `set_oop_field(_pending_list_tail, former_head_of_global_list)` ?
-------------
Marked as reviewed by ysr (Committer).
PR Review: https://git.openjdk.org/shenandoah/pull/314#pullrequestreview-1607677926
PR Review Comment: https://git.openjdk.org/shenandoah/pull/314#discussion_r1313537864
More information about the shenandoah-dev
mailing list