RFR: 8337511: Implement JEP 404: Generational Shenandoah (Experimental) [v7]
William Kemper
wkemper at openjdk.org
Tue Nov 19 23:59:36 UTC 2024
On Mon, 18 Nov 2024 16:42:50 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:
>> William Kemper has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 510 commits:
>>
>> - Merge branch 'merge-latest' into great-genshen-pr-redux
>> - Use new CompactHeader forwarding APIs in generational mode
>> - Merge remote-tracking branch 'jdk/master' into merge-latest
>> - Merge
>> - 8343649: Shenandoah: ShenandoahEvacInfo event does not follow JFR guidelines
>>
>> Reviewed-by: wkemper
>> - Merge
>> - 8343227: GenShen: Fold resource mark into management of preselected regions
>>
>> Reviewed-by: kdnilsen
>> - Merge openjdk/jdk tip into great-genshen-pr-redux
>> - Merge remote-tracking branch 'jdk/master' into merge-latest
>> - Merge remote-tracking branch 'jdk/master' into merge-latest
>> - ... and 500 more: https://git.openjdk.org/jdk/compare/889f9062...5e02b5d8
>
> src/hotspot/share/gc/shenandoah/shenandoahReferenceProcessor.cpp line 455:
>
>> 453: // Note: would be sufficient to mark only the card that holds the start of this Reference object.
>> 454: heap->old_generation()->card_scan()->mark_range_as_dirty(cast_from_oop<HeapWord*>(reference), reference->size());
>> 455: }
>
> Two things:
> a) This sounds like `card_table_barrier(reference, raw_referent)`? Since this code is getting called for every dropped reference, just checking a `ShenandoahCardBarrier` flag sounds more efficient.
> b) Is there a point in dirtying up to `reference->size()`?
Will test this.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/21273#discussion_r1849315332
More information about the shenandoah-dev
mailing list