On Thu, 16 Jul 2026 09:49:12 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). I think this will need inputs from Alan @AlanBateman. Although it seems reasonable to support this, since `java --help` does state: > To specify an argument for a long option, you can use --<name>=<value> or --<name> <value>. But no where in the three JEPs that introduced the `--illegal-final-field-mutation` (https://openjdk.org/jeps/500), `--illegal-access` (https://openjdk.org/jeps/261#Relaxed-strong-encapsulation) and `--illegal-native-access` (https://openjdk.org/jeps/472) do I see a mention/example of using it without the `=` sign. ------------- PR Comment: https://git.openjdk.org/jdk/pull/31928#issuecomment-5000003130
