RFR: 8311602 GenShen: Decouple generational mode heuristics [v2]
William Kemper
wkemper at openjdk.org
Mon Jul 10 22:46:32 UTC 2023
On Mon, 10 Jul 2023 20:36:32 GMT, Kelvin Nilsen <kdnilsen at openjdk.org> wrote:
>> William Kemper has updated the pull request incrementally with two additional commits since the last revision:
>>
>> - Remove overzealous assert
>> - Fix missing imports (windows build failure)
>
> src/hotspot/share/gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.cpp line 130:
>
>> 128: }
>> 129:
>> 130: void ShenandoahAdaptiveHeuristics::record_success_concurrent(bool abbreviated) {
>
> Note to self: the abbreviated argument was not present in original single-generation shenandoah code, but this can be introduced with a mainline refactoring effort.
I'll revisit this. I want to re-evaluate the performance benefit of this change. For now, at least, abbreviated cycles are recorded as usual for non-generational modes.
> src/hotspot/share/gc/shenandoah/heuristics/shenandoahOldHeuristics.hpp line 80:
>
>> 78: // Flag is set when promotion failure is detected (by gc thread), and cleared when
>> 79: // old generation collection begins (by control thread).
>> 80: // TODO: This is set, but never read.
>
> I vote to remove this. In current implementation, failure to promote is considered a normal happening, and does not necessarily trigger the start of an old-marking pass, nor expansion of OLD.
Okay, will get rid of it.
-------------
PR Review Comment: https://git.openjdk.org/shenandoah/pull/292#discussion_r1258978722
PR Review Comment: https://git.openjdk.org/shenandoah/pull/292#discussion_r1258980944
More information about the shenandoah-dev
mailing list