84 }
85
86 public abstract class ValueTypeTest {
87 // Random test values
88 public static final int rI = Utils.getRandomInstance().nextInt() % 1000;
89 public static final long rL = Utils.getRandomInstance().nextLong() % 1000;
90
91 // User defined settings
92 private static final boolean PRINT_GRAPH = true;
93 private static final boolean PRINT_TIMES = Boolean.parseBoolean(System.getProperty("PrintTimes", "false"));
94 private static boolean VERIFY_IR = Boolean.parseBoolean(System.getProperty("VerifyIR", "true"));
95 private static final boolean VERIFY_VM = Boolean.parseBoolean(System.getProperty("VerifyVM", "false"));
96 private static final String TESTLIST = System.getProperty("Testlist", "");
97 private static final String EXCLUDELIST = System.getProperty("Exclude", "");
98 private static final int WARMUP = Integer.parseInt(System.getProperty("Warmup", "251"));
99 private static final boolean DUMP_REPLAY = Boolean.parseBoolean(System.getProperty("DumpReplay", "false"));
100
101 // Pre-defined settings
102 private static final List<String> defaultFlags = Arrays.asList(
103 "-XX:-BackgroundCompilation", "-XX:CICompilerCount=1",
104 "-XX:+PrintCompilation", "-XX:+PrintInlining", "-XX:+PrintIdeal", "-XX:+PrintOptoAssembly",
105 "-XX:CompileCommand=quiet",
106 "-XX:CompileCommand=compileonly,java.lang.invoke.*::*",
107 "-XX:CompileCommand=compileonly,java.lang.Long::sum",
108 "-XX:CompileCommand=compileonly,java.lang.Object::<init>",
109 "-XX:CompileCommand=compileonly,compiler.valhalla.valuetypes.*::*");
110 private static final List<String> verifyFlags = Arrays.asList(
111 "-XX:+VerifyOops", "-XX:+VerifyStack", "-XX:+VerifyLastFrame", "-XX:+VerifyBeforeGC", "-XX:+VerifyAfterGC",
112 "-XX:+VerifyDuringGC", "-XX:+VerifyAdapterSharing", "-XX:+StressValueTypeReturnedAsFields");
113
114 protected static final WhiteBox WHITE_BOX = WhiteBox.getWhiteBox();
115 protected static final int ValueTypePassFieldsAsArgsOn = 0x1;
116 protected static final int ValueTypePassFieldsAsArgsOff = 0x2;
117 protected static final int ValueTypeArrayFlattenOn = 0x4;
118 protected static final int ValueTypeArrayFlattenOff = 0x8;
119 protected static final int ValueTypeReturnedAsFieldsOn = 0x10;
120 protected static final int ValueTypeReturnedAsFieldsOff = 0x20;
121 static final int AllFlags = ValueTypePassFieldsAsArgsOn | ValueTypePassFieldsAsArgsOff | ValueTypeArrayFlattenOn | ValueTypeArrayFlattenOff | ValueTypeReturnedAsFieldsOn;
122 protected static final boolean ValueTypePassFieldsAsArgs = (Boolean)WHITE_BOX.getVMFlag("ValueTypePassFieldsAsArgs");
123 protected static final boolean ValueTypeArrayFlatten = (Boolean)WHITE_BOX.getVMFlag("ValueArrayFlatten");
124 protected static final boolean ValueTypeReturnedAsFields = (Boolean)WHITE_BOX.getVMFlag("ValueTypeReturnedAsFields");
|
84 }
85
86 public abstract class ValueTypeTest {
87 // Random test values
88 public static final int rI = Utils.getRandomInstance().nextInt() % 1000;
89 public static final long rL = Utils.getRandomInstance().nextLong() % 1000;
90
91 // User defined settings
92 private static final boolean PRINT_GRAPH = true;
93 private static final boolean PRINT_TIMES = Boolean.parseBoolean(System.getProperty("PrintTimes", "false"));
94 private static boolean VERIFY_IR = Boolean.parseBoolean(System.getProperty("VerifyIR", "true"));
95 private static final boolean VERIFY_VM = Boolean.parseBoolean(System.getProperty("VerifyVM", "false"));
96 private static final String TESTLIST = System.getProperty("Testlist", "");
97 private static final String EXCLUDELIST = System.getProperty("Exclude", "");
98 private static final int WARMUP = Integer.parseInt(System.getProperty("Warmup", "251"));
99 private static final boolean DUMP_REPLAY = Boolean.parseBoolean(System.getProperty("DumpReplay", "false"));
100
101 // Pre-defined settings
102 private static final List<String> defaultFlags = Arrays.asList(
103 "-XX:-BackgroundCompilation", "-XX:CICompilerCount=1",
104 "-XX:+PrintCompilation", "-XX:+PrintIdeal", "-XX:+PrintOptoAssembly",
105 "-XX:CompileCommand=quiet",
106 "-XX:CompileCommand=compileonly,java.lang.invoke.*::*",
107 "-XX:CompileCommand=compileonly,java.lang.Long::sum",
108 "-XX:CompileCommand=compileonly,java.lang.Object::<init>",
109 "-XX:CompileCommand=compileonly,compiler.valhalla.valuetypes.*::*");
110 private static final List<String> verifyFlags = Arrays.asList(
111 "-XX:+VerifyOops", "-XX:+VerifyStack", "-XX:+VerifyLastFrame", "-XX:+VerifyBeforeGC", "-XX:+VerifyAfterGC",
112 "-XX:+VerifyDuringGC", "-XX:+VerifyAdapterSharing", "-XX:+StressValueTypeReturnedAsFields");
113
114 protected static final WhiteBox WHITE_BOX = WhiteBox.getWhiteBox();
115 protected static final int ValueTypePassFieldsAsArgsOn = 0x1;
116 protected static final int ValueTypePassFieldsAsArgsOff = 0x2;
117 protected static final int ValueTypeArrayFlattenOn = 0x4;
118 protected static final int ValueTypeArrayFlattenOff = 0x8;
119 protected static final int ValueTypeReturnedAsFieldsOn = 0x10;
120 protected static final int ValueTypeReturnedAsFieldsOff = 0x20;
121 static final int AllFlags = ValueTypePassFieldsAsArgsOn | ValueTypePassFieldsAsArgsOff | ValueTypeArrayFlattenOn | ValueTypeArrayFlattenOff | ValueTypeReturnedAsFieldsOn;
122 protected static final boolean ValueTypePassFieldsAsArgs = (Boolean)WHITE_BOX.getVMFlag("ValueTypePassFieldsAsArgs");
123 protected static final boolean ValueTypeArrayFlatten = (Boolean)WHITE_BOX.getVMFlag("ValueArrayFlatten");
124 protected static final boolean ValueTypeReturnedAsFields = (Boolean)WHITE_BOX.getVMFlag("ValueTypeReturnedAsFields");
|