> Flags passed via a settings file (`.hotspotrc`, or `-XX:Flags=my-file`) do > not have the `-XX:` prefix like they would have if passed as command-line > args. `JVM_GetVmArguments` then prints these flags also without the prefix, > along with command-line flags that _are_ prefixed. > > However, users of `JVM_GetVmArguments` expect the arguments to be in a format > that they can pass as command-line args, for example [in CDS > static_dump](https://github.com/openjdk/jdk/blob/63f00fff921ed4ac0f595a0a013d399700433a2c/src/java.base/share/classes/jdk/internal/misc/CDS.java#L329-L338) > - CDS static_dump currently *does not work* if the main VM uses flags from a > settings file. > > So, always add the `-XX:` prefix to flags from settings files in > `JVM_GetVmArguments`. Updated existing test to cover this behaviour. > > I looked for existing users of `JVM_GetVmArguments` and they either seem like > they'll benefit from this change (CDS, JMH via > `RuntimeMXBean.getInputArguments()`) or they won't care. > > **Testing** > > * Updated the existing InputArgument test with a case that verifies the new > behaviour. > * Confirmed that CDS static_dump and JMH now work on a VM with flags from a > file.
Oli Gillespie has updated the pull request incrementally with one additional commit since the last revision: Remove @author tag and update copyright ------------- Changes: - all: https://git.openjdk.org/jdk/pull/29793/files - new: https://git.openjdk.org/jdk/pull/29793/files/78ed9a4c..70f8ac14 Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=29793&range=01 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=29793&range=00-01 Stats: 3 lines in 1 file changed: 0 ins; 2 del; 1 mod Patch: https://git.openjdk.org/jdk/pull/29793.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/29793/head:pull/29793 PR: https://git.openjdk.org/jdk/pull/29793
