On Wed, 6 May 2026 11:23:03 GMT, Aleksey Shipilev <[email protected]> wrote:

>> Hi all,
>> 
>>   please review this change that allows building of the JDK without Serial 
>> GC enabled.
>> 
>> There were some hardcoded entries for -XX:+UseSerialGC in the makefiles, and 
>> one of the gtests is serial gc specific and needed to be moved. Noticed 
>> during tests with JEP 523: Make G1 the Default Garbage Collector in All 
>> Environments.
>> 
>> I opted to a different fix than suggested in the CR, instead of wholesale 
>> ignoring unrecognized options, only add serial gc to the relevant options if 
>> the feature is enabled in the build. The change seems small enough.
>> 
>> Tested manually with and without `--with-jvm-features=-serialgc`, both image 
>> building and running the test works in both cases (being skipped/not found 
>> if serial gc has not been enabled).
>> 
>> Other testing: gha
>> 
>> Thanks,
>>   Thomas
>> 
>> 
>> 
>> 
>> ---------
>> - [x] I confirm that I make this contribution in accordance with the 
>> [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai).
>
> make/autoconf/boot-jdk.m4 line 485:
> 
>> 483: 
>> 484:   # Use serial gc for small short lived tools if possible
>> 485:   
>> UTIL_ADD_JVM_GC_ARG_IF_OK([-XX:+UseSerialGC],boot_jdk_jvmargs_small,[$JAVA],[serialgc])
> 
> Something is off here. This builds up `boot_jdk_jvmargs`, which has no 
> relationship to the JVM feature flags enabled currently in the build. That 
> is, if you have a boot JDK that does not carry Serial, it would still fail.
> 
> There is a block below, saying:
> 
> 
>   # Don't presuppose SerialGC is present in the buildjdk. Also, we cannot test
>   # the buildjdk, but on the other hand we know what it will support.
> 
> 
> Which seems to say that we just "know" Serial would be there. But that is a 
> flimsy precondition. So maybe we should "just" stop opting into Serial GC 
> everywhere, and rely on default collector choice.

_Actually_, I believe not using Serial for small tools is completely in line 
with the intent of JEP 523, so it would be a proverbial dog-fooding to rely on 
G1 for small tools. If G1 is significantly slower in scenario where Serial used 
to be a better choice, OpenJDK developers should be the first to suffer :)

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

PR Review Comment: https://git.openjdk.org/jdk/pull/31049#discussion_r3195044694

Reply via email to