@@ -103,9 +103,7 @@ public class VmArgumentTests {
103
103
private static final String APPLICATION_NAME = ArgumentDumper .class .getCanonicalName ();
104
104
private static final String HELLO_WORLD = HelloWorld .class .getCanonicalName ();
105
105
106
- private static final String [] mandatoryArgumentsJava8 ;
107
-
108
- private static final String [] mandatoryArguments ;
106
+ private static final List <String > mandatoryArguments ;
109
107
private static final String [] TEST_ARG_LIST = { "-Dtest.option1=testJavaToolOptions1" , "-Dtest.option2=testJavaToolOptions2" ,
110
108
"-Dtest.option3=testJavaToolOptions3" , "-Dtest.option4=testJavaToolOptions4" };
111
109
private static final String OPTIONS_FILE_SUFFIX = ".test_options_file" ;
@@ -133,39 +131,26 @@ public class VmArgumentTests {
133
131
protected static Logger logger = Logger .getLogger (VmArgumentTests .class );
134
132
135
133
static {
136
- isIBM = System .getProperty ("java.vm.vendor" ).equals ("IBM Corporation" );
137
- mandatoryArgumentsJava8 = new String [] {
138
- isIBM ? XOPTIONSFILE : null ,
139
- "-Xlockword:mode" ,
140
- "-Xjcl:" ,
141
- "-Dcom.ibm.oti.vm.bootstrap.library.path" ,
142
- "-Dsun.boot.library.path" ,
143
- "-Djava.library.path" ,
144
- "-Djava.ext.dirs" ,
145
- DJAVA_HOME ,
146
- "-Duser.dir" ,
147
- /* "-Djava.runtime.version", doesn't show up if -Xcheck:memory is used */
148
- "-Djava.class.path" ,
149
- "-Dsun.java.command" ,
150
- "-Dsun.java.launcher"
151
- };
134
+ isIBM = "IBM Corporation" .equals (System .getProperty ("java.vm.vendor" ));
135
+ isJava8 = (8 == VersionCheck .major ());
136
+
137
+ mandatoryArguments = new ArrayList <>();
138
+ if (isIBM ) {
139
+ mandatoryArguments .add (XOPTIONSFILE );
140
+ }
141
+ mandatoryArguments .add ("-Xlockword:mode" );
142
+ mandatoryArguments .add ("-Dcom.ibm.oti.vm.bootstrap.library.path" );
143
+ mandatoryArguments .add ("-Dsun.boot.library.path" );
144
+ mandatoryArguments .add ("-Djava.library.path" );
145
+ if (isJava8 ) {
146
+ mandatoryArguments .add ("-Djava.ext.dirs" );
147
+ }
148
+ mandatoryArguments .add (DJAVA_HOME );
149
+ mandatoryArguments .add ("-Duser.dir" );
150
+ mandatoryArguments .add ("-Djava.class.path" );
151
+ mandatoryArguments .add ("-Dsun.java.command" );
152
+ mandatoryArguments .add ("-Dsun.java.launcher" );
152
153
153
- mandatoryArguments = new String [] {
154
- isIBM ? XOPTIONSFILE : null ,
155
- "-Xlockword:mode" ,
156
- "-Xjcl:" ,
157
- "-Dcom.ibm.oti.vm.bootstrap.library.path" ,
158
- "-Dsun.boot.library.path" ,
159
- "-Djava.library.path" ,
160
- DJAVA_HOME ,
161
- "-Duser.dir" ,
162
- /* "-Djava.runtime.version", doesn't show up if -Xcheck:memory is used */
163
- "-Djava.class.path" ,
164
- "-Dsun.java.command" ,
165
- "-Dsun.java.launcher"
166
- };
167
- int javaMajorVersion = VersionCheck .major ();
168
- isJava8 = (8 == javaMajorVersion );
169
154
vmargsJarFilename = "vmargs.jar" ;
170
155
}
171
156
@@ -1670,12 +1655,8 @@ private int runAndGetExitStatus(ProcessBuilder pb) {
1670
1655
private Map <String , Integer > checkArguments (List <String > actualArguments ,
1671
1656
String [] optionalArguments ) {
1672
1657
Map <String , Integer > argPositions = new HashMap <>();
1673
- String [] mArgs = (isJava8 ? mandatoryArgumentsJava8 : mandatoryArguments ).clone ();
1674
1658
List <String > missing = new ArrayList <>();
1675
- for (String m : mArgs ) {
1676
- if (null == m ) {
1677
- continue ;
1678
- }
1659
+ for (String m : mandatoryArguments ) {
1679
1660
boolean found = false ;
1680
1661
int p = 0 ;
1681
1662
for (String a : actualArguments ) {
0 commit comments