RFR: 8351892: GenShen: Remove enforcement of generation sizes [v2]

Kelvin Nilsen kdnilsen at openjdk.org
Sat Mar 29 00:15:08 UTC 2025


On Thu, 27 Mar 2025 22:09:05 GMT, William Kemper <wkemper at openjdk.org> wrote:

>> * The option to configure minimum and maximum sizes for the young generation have been combined into `ShenandoahInitYoungPercentage`.
>> * The remaining functionality in `shGenerationSizer` wasn't enough to warrant being its own class, so the functionality was rolled into `shGenerationalHeap`.
>
> William Kemper has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Don't let old have the entire heap

Looks good.  Thanks for this simplification and improved consistency.

src/hotspot/share/gc/shenandoah/shenandoahGenerationalFullGC.cpp line 120:

> 118:   if (old_capacity > old_usage) {
> 119:     size_t excess_old_regions = (old_capacity - old_usage) / ShenandoahHeapRegion::region_size_bytes();
> 120:     gen_heap->transfer_to_young(excess_old_regions);

should we assert result is successful?  Or replace with force_transfer?  (just seems bad practice to ignore a status result)

src/hotspot/share/gc/shenandoah/shenandoahGenerationalHeap.cpp line 134:

> 132:   ShenandoahHeap::initialize_heuristics();
> 133: 
> 134:   // Max capacity is the maximum _allowed_ capacity. This means the sum of the maximum

I don't understand the relevance of this comment.  Is there still a mximum allowed for old and a maximum allowed for young?

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

Marked as reviewed by kdnilsen (Committer).

PR Review: https://git.openjdk.org/jdk/pull/24268#pullrequestreview-2727093354
PR Review Comment: https://git.openjdk.org/jdk/pull/24268#discussion_r2019606575
PR Review Comment: https://git.openjdk.org/jdk/pull/24268#discussion_r2019607905


More information about the shenandoah-dev mailing list