RFR: 8337511: Implement JEP 404: Generational Shenandoah (Experimental) [v7]

Aleksey Shipilev shade at openjdk.org
Wed Nov 20 20:22:27 UTC 2024


On Wed, 13 Nov 2024 19:32:53 GMT, William Kemper <wkemper at openjdk.org> wrote:

>> This PR merges JEP 404, a generational mode for the Shenandoah garbage collector. The JEP can be viewed here: https://openjdk.org/jeps/404. We would like to target JDK24 with this PR.
>
> 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

Almost there, 220/230 reviewed.

src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp line 62:

> 60:   void work(uint worker_id) {
> 61:     ShenandoahHeap* heap = ShenandoahHeap::heap();
> 62:     ShenandoahParallelWorkerSession worker_session(worker_id);

Why this needs to be `ShenandoahParallelWorkerSession`, not `ShenandoahConcurrentWorkerSession`? This is a concurrent step, is it?

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

PR Review: https://git.openjdk.org/jdk/pull/21273#pullrequestreview-2449189030
PR Review Comment: https://git.openjdk.org/jdk/pull/21273#discussion_r1850899803


More information about the shenandoah-dev mailing list