RFR: 8314599: [GenShen] Couple adaptive tenuring and generation size budgeting [v3]
Kelvin Nilsen
kdnilsen at openjdk.org
Tue Oct 7 23:48:52 UTC 2025
On Tue, 7 Oct 2025 21:15:40 GMT, William Kemper <wkemper at openjdk.org> wrote:
>> src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.inline.hpp line 62:
>>
>>> 60:
>>> 61: size_t ShenandoahCollectionSet::get_live_bytes_in_young_regions() const {
>>> 62: return _young_bytes_to_evacuate - _young_bytes_to_promote;
>>
>> I'm wondering if these new names properly reflect the intention. It seems get_live_byte_in_young_regions() really means get_live_bytes_that_we_intend_to_evacuate_to_young(). (This number does not include _live_bytes_in_young_regions() that we expect to evacuate to old.)
>
> I called the complementary method `get_live_bytes_in_tenurable_regions`. How about `get_live_bytes_in_untenurable_regions`?
I'm still maybe a bit confused. Is it get_untenurable_live_bytes_in_young_regions()? Are we distinguishing?
So we have a total of N live bytes within young regions that have been placed into the collection set. We expect that P bytes (P < N) will be promoted, and the remaining S bytes (S + P == N) will be evacuated to "survivor space" within young.
Does get_live_bytes_in_untenurable_regions() equal P + S?
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/27632#discussion_r2412180653
More information about the hotspot-gc-dev
mailing list