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

Y. Srinivas Ramakrishna ysr at openjdk.org
Thu Aug 28 01:08:50 UTC 2025


On Mon, 25 Aug 2025 17:23:11 GMT, William Kemper <wkemper at openjdk.org> wrote:

>> The adaptive tenuring algorithm has been modified to begin its evaluation of mortality rates from the current tenuring threshold. To compliment this change, objects must also now be strictly above the tenuring threshold to be promoted (instead of greater-than-or-equal).
>
> William Kemper has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Fix windows build

Left some comments.
Will take a look at the tests and re-review the computation loop, once I understand your response to my comment about uniformly using `is_tenurable` (or its moral equivalent of doing a strictly greater than check in age comparisons for tenuring).

Sorry for the delay.

Also, are there any comparative performance numbers to share yet?

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

> 217:       // We don't want to deal with MT here just to ensure we read the right mark word.
> 218:       // Skip the potential promotion attempt for this one.
> 219:     } else if (age_census()->is_tenurable(r->age() + mark.age())) {

See comment above re using this boolean accessor at other places where comparisons are made with tenuring threshold.

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

PR Review: https://git.openjdk.org/jdk/pull/26906#pullrequestreview-3162543552
PR Comment: https://git.openjdk.org/jdk/pull/26906#issuecomment-3230713766
PR Review Comment: https://git.openjdk.org/jdk/pull/26906#discussion_r2305790877


More information about the hotspot-gc-dev mailing list