RFR: 8327000: GenShen: Integrate updated Shenandoah implementation of FreeSet into GenShen [v8]
Y. Srinivas Ramakrishna
ysr at openjdk.org
Wed Jun 19 01:01:31 UTC 2024
On Mon, 17 Jun 2024 20:39:33 GMT, William Kemper <wkemper at openjdk.org> wrote:
>> Kelvin Nilsen has updated the pull request incrementally with one additional commit since the last revision:
>>
>> Minor refinements to test programs
>>
>> TestAllocIntArrays: comments to explain behavior.
>> TestOldGrowthTriggers: reduce the number of loop iterations so this test
>> will not time out on less powerful test platforms.
>
> src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp line 138:
>
>> 136: if (is_old()) {
>> 137: heap->old_generation()->decrement_affiliated_region_count();
>> 138: heap->old_generation()->decrease_capacity(region_size_bytes());
>
> Should capacity be updated every time affiliated region count changes? If yes, then we could have increase/decrease affiliated region count increase/decrease capacity directly. If no, is this something peculiar to full GC?
What William asks above.
Additionally, it is also curious to me that the only caller of `make_young_maybe()` from full gc here: https://github.com/openjdk/shenandoah/blob/0350ce08f7362bc6091569f051760ef7c870e804/src/hotspot/share/gc/shenandoah/shenandoahFullGC.cpp#L993 seems to call it in only the non-generational case, while here we change affiliation from old (and adjust capacity & count) quite naturally only in the generational case (which is where old gen affiliation is possible).
I am clearly missing something here.
-------------
PR Review Comment: https://git.openjdk.org/shenandoah/pull/440#discussion_r1643612458
More information about the shenandoah-dev
mailing list