GenShen silently ignores junk in ShenandoahGCHeuristics. We might want to revise that. I want to see what the historical behavior was, and whether current behavior can be made more user-friendly.
```
% ./build/linux-x86_64-server-release/images/jdk/bin/java -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCMode=generational -XX:+PrintFlagsFinal -version | grep -i heuristics
ccstr ShenandoahGCHeuristics = adaptive {product} {default}
openjdk version "24-internal" 2025-03-18
OpenJDK Runtime Environment (build 24-internal-adhoc.ysr.shenandoah)
OpenJDK 64-Bit Server VM (build 24-internal-adhoc.ysr.shenandoah, mixed mode, sharing)
% ./build/linux-x86_64-server-release/images/jdk/bin/java -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCMode=generational -XX:ShenandoahGCHeuristics=junk -XX:+PrintFlagsFinal -version | grep -i heuristics
ccstr ShenandoahGCHeuristics = junk {product} {command line}
openjdk version "24-internal" 2025-03-18
OpenJDK Runtime Environment (build 24-internal-adhoc.ysr.shenandoah)
OpenJDK 64-Bit Server VM (build 24-internal-adhoc.ysr.shenandoah, mixed mode, sharing)
% ./build/linux-x86_64-server-release/images/jdk/bin/java -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=junk -XX:+PrintFlagsFinal -version | grep -i heuristics
Unknown -XX:ShenandoahGCHeuristics option
% ./build/linux-x86_64-server-release/images/jdk/bin/java -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=junk -XX:+PrintFlagsFinal -version
Error occurred during initialization of VM
Unknown -XX:ShenandoahGCHeuristics option
```
```
% ./build/linux-x86_64-server-release/images/jdk/bin/java -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCMode=generational -XX:+PrintFlagsFinal -version | grep -i heuristics
ccstr ShenandoahGCHeuristics = adaptive {product} {default}
openjdk version "24-internal" 2025-03-18
OpenJDK Runtime Environment (build 24-internal-adhoc.ysr.shenandoah)
OpenJDK 64-Bit Server VM (build 24-internal-adhoc.ysr.shenandoah, mixed mode, sharing)
% ./build/linux-x86_64-server-release/images/jdk/bin/java -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCMode=generational -XX:ShenandoahGCHeuristics=junk -XX:+PrintFlagsFinal -version | grep -i heuristics
ccstr ShenandoahGCHeuristics = junk {product} {command line}
openjdk version "24-internal" 2025-03-18
OpenJDK Runtime Environment (build 24-internal-adhoc.ysr.shenandoah)
OpenJDK 64-Bit Server VM (build 24-internal-adhoc.ysr.shenandoah, mixed mode, sharing)
% ./build/linux-x86_64-server-release/images/jdk/bin/java -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=junk -XX:+PrintFlagsFinal -version | grep -i heuristics
Unknown -XX:ShenandoahGCHeuristics option
% ./build/linux-x86_64-server-release/images/jdk/bin/java -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=junk -XX:+PrintFlagsFinal -version
Error occurred during initialization of VM
Unknown -XX:ShenandoahGCHeuristics option
```
- relates to
-
JDK-8342580 GenShen: TestChurnNotifications fails executing in unintended test-id modes with ShenandoahGCMode=generational
- Resolved