RFR: 8373225: GenShen: More adaptive old-generation growth heuristics [v4]

William Kemper wkemper at openjdk.org
Wed Dec 10 21:35:14 UTC 2025


On Tue, 9 Dec 2025 23:21:39 GMT, Kelvin Nilsen <kdnilsen at openjdk.org> wrote:

>> When old-gen consumes a small percentage of heap size, trigger when old-gen expands by more than ShenandoahMinOldGenGrowthPercent, with default value 50%, from the live data in old at time of previous old-gen mark.
>> 
>> When old-gen consumes a larger percentage of heap size, we trigger when old-gen expands by more than  ShenandoahMinOldGenGrowthRemainingHeapPercent, with default value 25%, of the memory not live in old at the last marking of old.
>
> Kelvin Nilsen has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Protect against underflow when computing old growth trigger threshold

src/hotspot/share/gc/shenandoah/shenandoahOldGeneration.hpp line 290:

> 288:   State _state;
> 289: 
> 290:   static const size_t FRACTIONAL_DENOMINATOR = 65536;

Is anything still using this constant?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/28561#discussion_r2608285011


More information about the hotspot-gc-dev mailing list