< prev index next >
test/hotspot/jtreg/compiler/valhalla/valuetypes/TestNewAcmp.java
Print this page
*** 1386,1399 ****
public boolean cmpSometimesEqual2(Object a) {
return a != a;
}
protected static final WhiteBox WHITE_BOX = WhiteBox.getWhiteBox();
! protected static final int COMP_LEVEL_FULL_OPTIMIZATION = 4;
protected static final long ACmpOnValues = (Long)WHITE_BOX.getVMFlag("ACmpOnValues");
public void runTest(Method m, Object[] args, int warmup, int nullMode, boolean[][] equalities) throws Exception {
Class<?>[] parameterTypes = m.getParameterTypes();
int parameterCount = parameterTypes.length;
// Nullness mode for first argument
// 0: default, 1: never null, 2: always null
--- 1386,1410 ----
public boolean cmpSometimesEqual2(Object a) {
return a != a;
}
+ static int get_full_opt_level() {
+ int n = (int)TieredStopAtLevel;
+ if (n >= 4) {
+ n = 4;
+ }
+ return n;
+ }
protected static final WhiteBox WHITE_BOX = WhiteBox.getWhiteBox();
! protected static final long TieredStopAtLevel = (Long)WHITE_BOX.getVMFlag("TieredStopAtLevel");
! protected static final int COMP_LEVEL_FULL_OPTIMIZATION = get_full_opt_level();
protected static final long ACmpOnValues = (Long)WHITE_BOX.getVMFlag("ACmpOnValues");
+ // FIXME: temp -- special handling for C1 testing.
+ protected static final boolean EnableValhallaC1 = (Boolean)WHITE_BOX.getVMFlag("EnableValhallaC1");
+
public void runTest(Method m, Object[] args, int warmup, int nullMode, boolean[][] equalities) throws Exception {
Class<?>[] parameterTypes = m.getParameterTypes();
int parameterCount = parameterTypes.length;
// Nullness mode for first argument
// 0: default, 1: never null, 2: always null
*** 1526,1540 ****
}
}
}
public static void main(String[] args) throws Exception {
- if (Boolean.getBoolean("test.c1")) {
- System.out.println("new acmp is not implemented for C1"); // TMP
- return;
- }
-
if (args.length == 0) {
enumerateVMOptions();
} else {
int nullMode = Integer.valueOf(args[0]);
TestNewAcmp t = new TestNewAcmp();
--- 1537,1546 ----
*** 1579,1605 ****
int scenario = -1;
for (int nullMode = 0; nullMode <= 2; nullMode++) { // null mode
for (int onVal = 0; onVal < 2; onVal++) { // 0 = default, 1 = -XX:ACmpOnValues=3
for (int incrInline = 0; incrInline < 2; incrInline++) { // 0 = default, 1 = -XX:+AlwaysIncrementalInline
scenario++;
- if (scenarios != null && !scenarios.contains(Integer.toString(scenario))) {
- System.out.println("Scenario #" + scenario + " is skipped due to -Dscenarios=" + SCENARIOS);
- continue;
- } else {
- System.out.println("Scenario #" + scenario + " -------------------");
- }
String[] cmds = baseOptions;
if (incrInline != 0) {
cmds = addOptions(cmds, "-XX:+AlwaysIncrementalInline");
}
if (onVal != 0) {
cmds = addOptions(cmds, "-XX:+UnlockExperimentalVMOptions", "-XX:ACmpOnValues=3");
}
cmds = addOptions(cmds, "compiler.valhalla.valuetypes.TestNewAcmp");
cmds = addOptions(cmds, Integer.toString(nullMode));
OutputAnalyzer oa = ProcessTools.executeTestJvm(cmds);
String output = oa.getOutput();
oa.shouldHaveExitValue(0);
System.out.println(output);
}
--- 1585,1620 ----
int scenario = -1;
for (int nullMode = 0; nullMode <= 2; nullMode++) { // null mode
for (int onVal = 0; onVal < 2; onVal++) { // 0 = default, 1 = -XX:ACmpOnValues=3
for (int incrInline = 0; incrInline < 2; incrInline++) { // 0 = default, 1 = -XX:+AlwaysIncrementalInline
scenario++;
+ System.out.println("\nScenario #" + scenario + " -------------------");
String[] cmds = baseOptions;
if (incrInline != 0) {
cmds = addOptions(cmds, "-XX:+AlwaysIncrementalInline");
}
if (onVal != 0) {
cmds = addOptions(cmds, "-XX:+UnlockExperimentalVMOptions", "-XX:ACmpOnValues=3");
}
+
+ if (EnableValhallaC1) {
+ // FIXME: C1 runs into problems when these methods are compiled
+ cmds = addOptions(cmds, "-XX:CompileCommand=exclude,java.lang.ClassValue::*");
+ }
+
cmds = addOptions(cmds, "compiler.valhalla.valuetypes.TestNewAcmp");
cmds = addOptions(cmds, Integer.toString(nullMode));
+ if (scenarios != null && !scenarios.contains(Integer.toString(scenario))) {
+ System.out.println("Scenario #" + scenario + " is skipped due to -Dscenarios=" + SCENARIOS);
+ continue;
+ } else if (EnableValhallaC1 && onVal == 0) {
+ System.out.println("Scenario #" + scenario + " is skipped because C1 requires -XX:ACmpOnValues=3");
+ continue;
+ }
+
OutputAnalyzer oa = ProcessTools.executeTestJvm(cmds);
String output = oa.getOutput();
oa.shouldHaveExitValue(0);
System.out.println(output);
}
< prev index next >