RFR: 8337511: Implement JEP-404: Generational Shenandoah (Experimental) [v3]
William Kemper
wkemper at openjdk.org
Tue Oct 15 20:49:24 UTC 2024
On Thu, 10 Oct 2024 12:58:56 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/heuristics/shenandoahAdaptiveHeuristics.cpp line 96:
>
>> 94: size_t capacity = _space_info->soft_max_capacity();
>> 95: size_t max_cset = (size_t)((1.0 * capacity / 100 * ShenandoahEvacReserve) / ShenandoahEvacWaste);
>> 96: size_t free_target = (capacity * ShenandoahMinFreeThreshold) / 100 + max_cset;
>
> Does re-arranging the math here risk overflow (e.g. on 32-bit)?
https://bugs.openjdk.org/browse/JDK-8342239
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/21273#discussion_r1801956645
More information about the shenandoah-dev
mailing list