On Fri, 21 Aug 2026 00:23:39 GMT, Guanqiang Han <[email protected]> wrote:
>> Please review this change, thanks! >> >> **Description:** >> >> Some VM long options only accept arguments in the `--option=value` form, >> even though the launcher help states that long-option arguments may also be >> separated by whitespace. As a result, options such as >> `--illegal-final-field-mutation debug`, `--illegal-native-access warn` are >> not parsed correctly. >> >> **Solution:** >> >> Add `IsNonModuleVMWhiteSpaceOption()` to identify VM long options that >> accept whitespace-separated arguments and convert them to the >> `--option=value` form before passing them to the VM. Add >> `--enable-final-field-mutation` to the existing module-option handling. >> Normalize missing arguments for other VM long options to `--option=` so that >> they can be handled by the existing option validation logic. >> >> **Test:** >> >> GHA >> >> --------- >> - [x] I confirm that I make this contribution in accordance with the >> [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai). > > Guanqiang Han has updated the pull request incrementally with one additional > commit since the last revision: > > Move main() before launch() and test() for readability This change has broken a number of tests that involve the use of long options: - sun/misc/UnsafeMemoryAccessWarnings.java - java/lang/reflect/Field/mutateFinals/cli/CommandLineTest.java - java/lang/Object/FinalizationOption.java - java/foreign/enablenativeaccess/TestEnableNativeAccess.java I will file a bug, but this change may need to be backed out. ------------- PR Comment: https://git.openjdk.org/jdk/pull/31928#issuecomment-5446162654
