RFR: 8337511: Implement JEP-404: Generational Shenandoah (Experimental) [v3]
William Kemper
wkemper at openjdk.org
Fri Oct 11 23:34:32 UTC 2024
On Thu, 10 Oct 2024 18:47:38 GMT, Roman Kennke <rkennke 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 478 commits:
>>
>> - Fix merge error
>> - Merge remote-tracking branch 'jdk/master' into great-genshen-pr-redux
>> - Merge remote-tracking branch 'jdk/master' into great-genshen-pr-redux
>> - Merge branch 'shenandoah/master' into great-genshen-pr-redux
>> - Merge
>> - 8341099: GenShen: assert(HAS_FWD == _heap->has_forwarded_objects()) failed: Forwarded object status is sane
>>
>> Reviewed-by: kdnilsen
>> - 8341485: GenShen: Make evac tracker a non-product feature and confine it to generational mode
>>
>> Reviewed-by: kdnilsen, ysr
>> - Merge
>> - 8341042: GenShen: Reset mark bitmaps for unaffiliated regions when preparing for a cycle
>>
>> Reviewed-by: kdnilsen
>> - 8339616: GenShen: Introduce new state to distinguish promote-in-place phase as distinct from concurrent evacuation
>>
>> Reviewed-by: kdnilsen, shade, ysr
>> - ... and 468 more: https://git.openjdk.org/jdk/compare/b9db74a6...4db1e0e1
>
> src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp line 676:
>
>> 674: case ShenandoahAllocRequest::_alloc_shared_gc: {
>> 675: // Fast-path: try to allocate in the collector view first
>> 676: idx_t leftmost_collector = _partitions.leftmost(ShenandoahFreeSetPartitionId::Collector);
>
> 1. The curly bracing that starts at _alloc_plab and then again at _alloc_shared_gc is really really weird.
> 2. The block that is enclosed by the curly braces is really huge for a switch-case.
> It probably looks better if the code can be factored out into a method and be called from the switch cases? I'm not sure if this is easy to do, because there are some returns and breaks sprinkled in the block, too. But this only makes it worse.
https://bugs.openjdk.org/browse/JDK-8342001
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/21273#discussion_r1797493799
More information about the hotspot-dev
mailing list