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

Zhengyu Gu zgu at openjdk.org
Sat Oct 26 02:08:16 UTC 2024


On Mon, 21 Oct 2024 21:16:50 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 492 commits:
> 
>  - Merge remote-tracking branch 'shenandoah/master' into great-genshen-pr-redux
>  - Merge
>  - 8342560: GenShen: Fix confusing method name
>    
>    Reviewed-by: ysr
>  - 8342564: GenShen: Only reference young/old generation names in generational mode
>    
>    Reviewed-by: xpeng, ysr
>  - Merge remote-tracking branch 'jdk/master' into great-genshen-pr-redux
>  - Merge remote-tracking branch 'shenandoah/master' into great-genshen-pr-redux
>  - 8342214: GenShen: Reduce code duplication in shFreeSet with iterator abstraction
>    
>    Reviewed-by: kdnilsen, ysr
>  - 8342239: GenShen: Revert changes in adaptive heuristic to avoid overflow on 32 bit
>    
>    Reviewed-by: ysr
>  - 8342278: GenShen: Move non-generational mode test out of generational test configuration
>    
>    Reviewed-by: ysr
>  - 8342255: GenShen: Remove unnecessary enum initial values
>    
>    Reviewed-by: ysr
>  - ... and 482 more: https://git.openjdk.org/jdk/compare/71583222...2a2aa408

src/hotspot/share/gc/shenandoah/shenandoahGeneration.cpp line 701:

> 699:       // Seed the collection set with resource area-allocated
> 700:       // preselected regions, which are removed when we exit this scope.
> 701:       ResourceMark rm;

You can fold `ResourceMark` into `ShenandoahCollectionSetPreselector` class.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/21273#discussion_r1817564685


More information about the shenandoah-dev mailing list