RFR: 8327000: GenShen: Integrate updated Shenandoah implementation of FreeSet into GenShen [v8]

Kelvin Nilsen kdnilsen at openjdk.org
Tue Jun 18 15:40:43 UTC 2024


On Tue, 18 Jun 2024 15:09:24 GMT, Kelvin Nilsen <kdnilsen at openjdk.org> wrote:

>> 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?
>
> This is a good observation and suggestion.  This doesn't seem to be a consistent behavior.  promote_in_place() adjusts affiliated regions without adjusting capacity, but maybe it should.  I'll explore further.

Looks like this is something special about full gc.  The call to make_young_maybe() only occurs when !_is_generational().  kind of a peculiar name for this function, given that we're non-generational here.  Still exploring.

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

PR Review Comment: https://git.openjdk.org/shenandoah/pull/440#discussion_r1644675322


More information about the shenandoah-dev mailing list