RFR: 8371381: [Shenandoah] Setting ergo flags should use FLAG_SET_ERGO

Cesar Soares Lucas cslucas at openjdk.org
Tue Nov 11 22:33:03 UTC 2025


On Tue, 11 Nov 2025 18:24:25 GMT, Rui Li <duke at openjdk.org> wrote:

> Setting ergo flags using `FLAG_SET_ERGO`, instead of `FLAG_SET_DEFAULT`, so we can have the right origin info.
> 
> Had to expand `ShenandoahEvacReserve` range from `range(1,100)` to `range(0,100)` because when we use shenandoah passive mode and degen is also turned off (`-XX:ShenandoahGCMode=passive -XX:-ShenandoahDegeneratedGC`), we set the ShenandoahEvacReserve to 0:  https://github.com/openjdk/jdk/blob/c6a8027b94bbcbde5f7dcabd0bff48b93bbb5a7f/src/hotspot/share/gc/shenandoah/mode/shenandoahPassiveMode.cpp#L41 The issue is surfaced now because `FLAG_SET_DEFAULT` doesn't check the range but `FLAG_SET_ERGO` does.
> 
> Testing: jtreg gc. GHA pending.

Marked as reviewed by cslucas (Committer).

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

PR Review: https://git.openjdk.org/jdk/pull/28242#pullrequestreview-3450386135


More information about the hotspot-gc-dev mailing list