RFR: 8365956: GenShen: Adaptive tenuring threshold algorithm may raise threshold prematurely [v5]

Kelvin Nilsen kdnilsen at openjdk.org
Tue Sep 9 22:34:34 UTC 2025


On Tue, 9 Sep 2025 22:24:41 GMT, Kelvin Nilsen <kdnilsen at openjdk.org> wrote:

>> William Kemper has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 20 additional commits since the last revision:
>> 
>>  - Fix include order
>>  - Add missing newline
>>  - Fix typo
>>  - Merge tag 'jdk-26+14' into adaptive-tenuring-threshold
>>    
>>    Added tag jdk-26+14 for changeset ab9f70dd
>>  - Do not require objects to be strictly older than the tenuring threshold
>>  - Log updated tenuring age at info, log age table at debug
>>  - Be consistent when comparing tenuring threshold with ages
>>  - Fix windows build
>>  - Fix release build
>>  - Revert unintended change
>>  - ... and 10 more: https://git.openjdk.org/jdk/compare/2b231502...0ffa89c5
>
> src/hotspot/share/gc/shenandoah/shenandoahAgeCensus.hpp line 186:
> 
>> 184: 
>> 185:   // Return true if this age is at or above the tenuring threshold.
>> 186:   bool is_tenurable(uint age) const {
> 
> might want to mark this as inline.  (if in-lined, this might be the right way to check whether individual objects should be promoted.  But I don't want to delay integration of this PR, so maybe that could be done in a different PR if we think it worthwhile.)

Ok.  I see that ShenandoahGenerationalHeap::is_tenurable() is in-lined.  That's probably the one that matters the most.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/26906#discussion_r2334963712


More information about the hotspot-gc-dev mailing list