< prev index next >
test/compiler/valhalla/valuetypes/ValueTypeTestBench.java
Print this page
rev 10493 : keep
rev 10513 : fix incremental inlining with value types
*** 28,37 ****
--- 28,38 ----
* @library /testlibrary /test/lib /compiler/whitebox /
* @build compiler.valhalla.valuetypes.ValueTypeTestBench
* @run main ClassFileInstaller sun.hotspot.WhiteBox
* @run main ClassFileInstaller jdk.test.lib.Platform
* @run main/othervm -ea -noverify -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI
+ * -XX:+UnlockExperimentalVMOptions -XX:+ValueTypePassFieldsAsArgs
* -XX:-TieredCompilation compiler.valhalla.valuetypes.ValueTypeTestBench
* @run main/othervm -ea -noverify -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI
* -XX:+UnlockExperimentalVMOptions -XX:-ValueTypePassFieldsAsArgs
* -XX:-TieredCompilation compiler.valhalla.valuetypes.ValueTypeTestBench
*/
*** 811,838 ****
tests.put("ValueTypeTestBench::" + m.getName(), m);
}
}
}
! public static void main(String[] args) throws Throwable {
! if (args.length == 0) {
ArrayList<String> all_args = new ArrayList(List.of(
"-noverify",
"-XX:+UnlockDiagnosticVMOptions", "-Xbootclasspath/a:.", "-XX:+WhiteBoxAPI",
"-XX:-TieredCompilation", "-XX:-BackgroundCompilation",
"-XX:+IgnoreUnrecognizedVMOptions", "-XX:+PrintCompilation", "-XX:+PrintIdeal", "-XX:+PrintOptoAssembly",
"-XX:CompileCommand=quiet", "-XX:CompileCommand=compileonly,compiler.valhalla.valuetypes.ValueTypeTestBench::*",
"-XX:CompileCommand=compileonly,compiler.valhalla.valuetypes.MyValue1::*",
"-XX:CompileCommand=compileonly,compiler.valhalla.valuetypes.MyValue2::*"
));
// Run tests in own process and verify output
- all_args.add("-XX:+UnlockExperimentalVMOptions");
- if ((Boolean)WHITE_BOX.getVMFlag("ValueTypePassFieldsAsArgs")) {
- all_args.add("-XX:+ValueTypePassFieldsAsArgs");
- } else {
- all_args.add("-XX:-ValueTypePassFieldsAsArgs");
- }
all_args.add(ValueTypeTestBench.class.getName());
all_args.add("run");
OutputAnalyzer oa = ProcessTools.executeTestJvm(all_args.toArray(new String[0]));
// If ideal graph printing is enabled/supported, verify output
String output = oa.getOutput();
--- 812,833 ----
tests.put("ValueTypeTestBench::" + m.getName(), m);
}
}
}
! private static void execute_vm(String... extra_args) throws Throwable {
ArrayList<String> all_args = new ArrayList(List.of(
"-noverify",
"-XX:+UnlockDiagnosticVMOptions", "-Xbootclasspath/a:.", "-XX:+WhiteBoxAPI",
"-XX:-TieredCompilation", "-XX:-BackgroundCompilation",
"-XX:+IgnoreUnrecognizedVMOptions", "-XX:+PrintCompilation", "-XX:+PrintIdeal", "-XX:+PrintOptoAssembly",
"-XX:CompileCommand=quiet", "-XX:CompileCommand=compileonly,compiler.valhalla.valuetypes.ValueTypeTestBench::*",
"-XX:CompileCommand=compileonly,compiler.valhalla.valuetypes.MyValue1::*",
"-XX:CompileCommand=compileonly,compiler.valhalla.valuetypes.MyValue2::*"
));
+ all_args.addAll(List.of(extra_args));
// Run tests in own process and verify output
all_args.add(ValueTypeTestBench.class.getName());
all_args.add("run");
OutputAnalyzer oa = ProcessTools.executeTestJvm(all_args.toArray(new String[0]));
// If ideal graph printing is enabled/supported, verify output
String output = oa.getOutput();
*** 840,849 ****
--- 835,856 ----
if (output.contains("PrintIdeal enabled")) {
parseOutput(output);
} else {
System.out.println("WARNING: IR verification disabled! Running with -Xint, -Xcomp or release build?");
}
+ }
+
+ public static void main(String[] args) throws Throwable {
+ if (args.length == 0) {
+ String field_as_args;
+ if ((Boolean)WHITE_BOX.getVMFlag("ValueTypePassFieldsAsArgs")) {
+ field_as_args = "-XX:+ValueTypePassFieldsAsArgs";
+ } else {
+ field_as_args = "-XX:-ValueTypePassFieldsAsArgs";
+ }
+ execute_vm("-XX:+UnlockExperimentalVMOptions", field_as_args);
+ execute_vm("-XX:+AlwaysIncrementalInline", "-XX:+UnlockExperimentalVMOptions", field_as_args);
} else {
if (USE_COMPILER && PRINT_IDEAL && !XCOMP) {
System.out.println("PrintIdeal enabled");
}
// Execute tests
< prev index next >