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

Rui Li duke at openjdk.org
Tue Nov 11 23:55:02 UTC 2025


On Tue, 11 Nov 2025 23:40:01 GMT, Rui Li <duke at openjdk.org> wrote:

>> src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp line 356:
>> 
>>> 354:           "regions) is also bounded by this parameter.  In percents of "    \
>>> 355:           "total (young-generation) heap size.")                            \
>>> 356:           range(0,100)                                                      \
>> 
>> If we allow this, somebody _will_ file a bug because `-XX:ShenandoahEvacReserve=0` will cause other modes to crash with divide by zero error.
>
> OK, I'll keep the range as it is `(1,100)`, but instead of setting the default with ergo at here: https://github.com/openjdk/jdk/blob/c6a8027b94bbcbde5f7dcabd0bff48b93bbb5a7f/src/hotspot/share/gc/shenandoah/mode/shenandoahPassiveMode.cpp#L40-L42 I'll just use `FLAG_SET_DEFAULT` to bypass the check? We wouldn't have the data source origin in passive mode which is only meant to be diagnostic, but that's better than causing problems in the regular mode.

Ah, missed your general comment above. I think we're talking about the same solution. I'll update the passive mode to use `FLAG_SET_DEFAULT`.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/28242#discussion_r2516213869


More information about the hotspot-gc-dev mailing list