Skip to content

-XX:[+|-]MergeCompilerOptions

This option enables or disables the merging of multiple -Xjit or -Xaot options into a single -Xjit or -Xaot option.

Syntax

    -XX:[+|-]MergeCompilerOptions
Setting Effect Default
-XX:+MergeCompilerOptions Enable
-XX:-MergeCompilerOptions Disable yes

Explanation

By default, if you specify -Xjit option (or -Xaot option) multiple times, only the last option takes effect. Therefore, on adding an -Xjit option, the resultant behavior might not be as expected, if any instance of this option already exists. It is time-consuming to find the existing instances and try combining them manually so that the system behaves as required.

You can use the -XX:+MergeCompilerOptions option to merge all the existing instances of the -Xjit options logically. To retain the default behavior, whereby only the last option takes effect, you can use the -XX:-MergeCompilerOptions option.

If both -Xjit and -Xaot options exist and you use the -XX:+MergeCompilerOptions option, then multiple -Xjit options are merged into a single -Xjit option and multiple -Xaot options are merged into a single -Xaot option.

Examples

One -Xjit option

java -Xshareclasses:none  -Xjit:version -version

-Xjit option that is applied - version

java -XX:+MergeCompilerOptions -Xshareclasses:none  -Xjit:version -version

-Xjit option that is applied - version

java -XX:-MergeCompilerOptions -Xshareclasses:none  -Xjit:version -version

-Xjit option that is applied - version

Multiple -Xjit options

java -Xshareclasses:none '-Xjit:verbose={compilePerformance},vlog=vlog' -Xjit:version -version

-Xjit option that is applied - version

java -XX:+MergeCompilerOptions -Xshareclasses:none '-Xjit:verbose={compilePerformance},vlog=vlog' -Xjit:version -version

-Xjit options that are applied - verbose={compilePerformance},vlog=vlog,version

java -XX:-MergeCompilerOptions -Xshareclasses:none '-Xjit:verbose={compilePerformance},vlog=vlog' -Xjit:version -version

-Xjit option that is applied - version

Both -XX:+MergeCompilerOptions and -XX:-MergeCompilerOptions

If there are multiple -XX:[+|-]MergeCompilerOptions options with multiple -Xjit options, the last -XX:[+|-]MergeCompilerOptions setting takes effect before the -Xjit options are processed.

java -XX:+MergeCompilerOptions -XX:-MergeCompilerOptions -Xshareclasses:none '-Xjit:verbose={compilePerformance},vlog=vlog' -Xjit:version -version

-Xjit option that is applied - version

java -XX:-MergeCompilerOptions -XX:+MergeCompilerOptions -Xshareclasses:none '-Xjit:verbose={compilePerformance},vlog=vlog' -Xjit:version -version

-Xjit options that are applied - {compilePerformance},vlog=vlog,version

See also