mirror of
https://github.com/openjdk/jdk.git
synced 2026-01-28 12:09:14 +00:00
8352595: Regression of JDK-8314999 in IR matching
Reviewed-by: chagedorn, thartmann
This commit is contained in:
parent
48fac6626c
commit
c94bc7427c
@ -1163,15 +1163,17 @@ class BadIRNodeForPhase {
|
||||
public void duplicatedPhase() {}
|
||||
|
||||
@Test
|
||||
@FailCount(4)
|
||||
@IR(failOn = IRNode.ALLOC, phase = {CompilePhase.FINAL_CODE, CompilePhase.AFTER_MACRO_EXPANSION})
|
||||
@IR(failOn = IRNode.ALLOC, phase = CompilePhase.PRINT_IDEAL)
|
||||
@FailCount(6)
|
||||
@IR(failOn = IRNode.ALLOC, phase = {CompilePhase.FINAL_CODE, CompilePhase.AFTER_MACRO_EXPANSION}) // FINAL_CODE not available
|
||||
@IR(failOn = IRNode.ALLOC, phase = CompilePhase.PRINT_IDEAL) // PRINT_IDEAL not available
|
||||
@IR(failOn = IRNode.ALLOC, phase = {CompilePhase.ITER_GVN1, CompilePhase.AFTER_PARSING}) // works
|
||||
@IR(failOn = IRNode.ALLOC, phase = {CompilePhase.ITER_GVN1, CompilePhase.AFTER_PARSING,
|
||||
CompilePhase.PRINT_OPTO_ASSEMBLY}) // works
|
||||
@IR(failOn = IRNode.ALLOC_ARRAY, phase = {CompilePhase.FINAL_CODE, CompilePhase.AFTER_MACRO_EXPANSION})
|
||||
@IR(failOn = IRNode.ALLOC_ARRAY, phase = CompilePhase.PRINT_IDEAL)
|
||||
CompilePhase.PRINT_OPTO_ASSEMBLY}) // PRINT_OPTO_ASSEMBLY not available
|
||||
@IR(failOn = IRNode.ALLOC_ARRAY, phase = {CompilePhase.FINAL_CODE, CompilePhase.AFTER_MACRO_EXPANSION}) // FINAL_CODE not available
|
||||
@IR(failOn = IRNode.ALLOC_ARRAY, phase = CompilePhase.PRINT_IDEAL) // PRINT_IDEAL not available
|
||||
@IR(failOn = IRNode.ALLOC_ARRAY, phase = {CompilePhase.ITER_GVN1, CompilePhase.AFTER_PARSING}) // works
|
||||
@IR(failOn = IRNode.ALLOC_ARRAY, phase = {CompilePhase.ITER_GVN1, CompilePhase.AFTER_PARSING,
|
||||
CompilePhase.PRINT_OPTO_ASSEMBLY}) // works
|
||||
CompilePhase.PRINT_OPTO_ASSEMBLY}) // PRINT_OPTO_ASSEMBLY not available
|
||||
public void alloc() {}
|
||||
|
||||
@Test
|
||||
|
||||
@ -107,6 +107,16 @@ class Basics {
|
||||
Object obj3;
|
||||
Object obj4;
|
||||
|
||||
public class Helper {
|
||||
private String s;
|
||||
|
||||
public Helper(String s, int i) {
|
||||
this.s = s;
|
||||
}
|
||||
|
||||
public String getString() { return s; }
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(failOn = IRNode.STORE, phase = {CompilePhase.DEFAULT, CompilePhase.PRINT_IDEAL})
|
||||
@ExpectedFailure(ruleId = 1, failOn = 1) // Only one failure - remove duplicated phases after mapping DEFAULT
|
||||
@ -115,15 +125,16 @@ class Basics {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(failOn = {IRNode.STORE, IRNode.ALLOC, IRNode.COUNTED_LOOP},
|
||||
counts = {IRNode.STORE, "3", IRNode.ALLOC, "1", IRNode.COUNTED_LOOP, "2"})
|
||||
@IR(failOn = {IRNode.STORE, IRNode.FIELD_ACCESS, IRNode.COUNTED_LOOP},
|
||||
counts = {IRNode.STORE, "3", IRNode.FIELD_ACCESS, "2", IRNode.COUNTED_LOOP, "2"})
|
||||
@ExpectedFailure(ruleId = 1, phase = CompilePhase.PRINT_IDEAL, failOn = 1, counts = {1, 3})
|
||||
@ExpectedFailure(ruleId = 1, phase = CompilePhase.PRINT_OPTO_ASSEMBLY, counts = 2)
|
||||
@ExpectedFailure(ruleId = 1, phase = CompilePhase.PRINT_OPTO_ASSEMBLY, failOn = 2)
|
||||
|
||||
@IR(failOn = {IRNode.STORE, IRNode.ALLOC, IRNode.COUNTED_LOOP})
|
||||
@IR(failOn = {IRNode.STORE, IRNode.FIELD_ACCESS, IRNode.COUNTED_LOOP})
|
||||
@ExpectedFailure(ruleId = 2, phase = CompilePhase.PRINT_IDEAL, failOn = 1)
|
||||
@ExpectedFailure(ruleId = 2, phase = CompilePhase.PRINT_OPTO_ASSEMBLY, failOn = 2)
|
||||
|
||||
@IR(counts = {IRNode.STORE, "3", IRNode.ALLOC, "1", IRNode.COUNTED_LOOP, "2"})
|
||||
@IR(counts = {IRNode.STORE, "3", IRNode.FIELD_ACCESS, "1", IRNode.COUNTED_LOOP, "2"})
|
||||
@ExpectedFailure(ruleId = 3, phase = CompilePhase.PRINT_IDEAL, counts = {1, 3})
|
||||
@ExpectedFailure(ruleId = 3, phase = CompilePhase.PRINT_OPTO_ASSEMBLY, counts = 2)
|
||||
|
||||
@ -135,52 +146,54 @@ class Basics {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(failOn = {IRNode.STORE_F, IRNode.ALLOC, IRNode.COUNTED_LOOP},
|
||||
counts = {IRNode.STORE_F, "3", IRNode.ALLOC, "1", IRNode.COUNTED_LOOP, "2"})
|
||||
@IR(failOn = {IRNode.STORE_F, IRNode.FIELD_ACCESS, IRNode.COUNTED_LOOP},
|
||||
counts = {IRNode.STORE_F, "3", IRNode.FIELD_ACCESS, "1", IRNode.COUNTED_LOOP, "2"})
|
||||
@ExpectedFailure(ruleId = 1, phase = CompilePhase.PRINT_OPTO_ASSEMBLY, failOn = 2)
|
||||
@ExpectedFailure(ruleId = 1, phase = CompilePhase.PRINT_IDEAL, counts = {1, 3})
|
||||
|
||||
@IR(failOn = {IRNode.STORE_F, IRNode.ALLOC, IRNode.COUNTED_LOOP})
|
||||
@IR(failOn = {IRNode.STORE_F, IRNode.FIELD_ACCESS, IRNode.COUNTED_LOOP})
|
||||
@ExpectedFailure(ruleId = 2, phase = CompilePhase.PRINT_OPTO_ASSEMBLY, failOn = 2)
|
||||
|
||||
@IR(counts = {IRNode.STORE_F, "3", IRNode.ALLOC, "1", IRNode.COUNTED_LOOP, "2"})
|
||||
@IR(counts = {IRNode.STORE_F, "3", IRNode.FIELD_ACCESS, "1", IRNode.COUNTED_LOOP, "2"})
|
||||
@ExpectedFailure(ruleId = 3, phase = CompilePhase.PRINT_IDEAL, counts = {1, 3})
|
||||
|
||||
@IR(failOn = {IRNode.STORE_F, IRNode.ALLOC, IRNode.COUNTED_LOOP},
|
||||
counts = {IRNode.STORE_F, "3", IRNode.ALLOC, "2", IRNode.COUNTED_LOOP, "2"})
|
||||
@IR(failOn = {IRNode.STORE_F, IRNode.FIELD_ACCESS, IRNode.COUNTED_LOOP},
|
||||
counts = {IRNode.STORE_F, "3", IRNode.FIELD_ACCESS, "2", IRNode.COUNTED_LOOP, "2"})
|
||||
|
||||
@ExpectedFailure(ruleId = 4, phase = CompilePhase.PRINT_OPTO_ASSEMBLY, failOn = 2, counts = 2)
|
||||
@ExpectedFailure(ruleId = 4, phase = CompilePhase.PRINT_IDEAL, counts = {1, 3})
|
||||
|
||||
@IR(counts = {IRNode.ALLOC, "2"})
|
||||
@IR(counts = {IRNode.FIELD_ACCESS, "2"})
|
||||
@ExpectedFailure(ruleId = 5, phase = CompilePhase.PRINT_OPTO_ASSEMBLY, counts = 1)
|
||||
public Object defaultOnOptoAssembly() {
|
||||
return new Object();
|
||||
public Object defaultOnOptoAssembly(Helper h) {
|
||||
return h.getString();
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(failOn = {IRNode.STORE, IRNode.ALLOC, IRNode.ALLOC_OF, "Object", IRNode.COUNTED_LOOP},
|
||||
counts = {IRNode.STORE, "20", IRNode.ALLOC, "1", IRNode.ALLOC_OF, "Object", "1", IRNode.COUNTED_LOOP, "2"})
|
||||
@ExpectedFailure(ruleId = 1, phase = CompilePhase.PRINT_OPTO_ASSEMBLY, failOn = {2, 3})
|
||||
@ExpectedFailure(ruleId = 1, phase = CompilePhase.PRINT_IDEAL, failOn = 1, counts = {1, 4})
|
||||
@IR(failOn = {IRNode.STORE, IRNode.FIELD_ACCESS, IRNode.COUNTED_LOOP},
|
||||
counts = {IRNode.STORE, "20", IRNode.FIELD_ACCESS, "3", IRNode.COUNTED_LOOP, "2"})
|
||||
@ExpectedFailure(ruleId = 1, phase = CompilePhase.PRINT_OPTO_ASSEMBLY, failOn = 2)
|
||||
@ExpectedFailure(ruleId = 1, phase = CompilePhase.PRINT_IDEAL, failOn = 1, counts = {1, 3})
|
||||
|
||||
@IR(failOn = {IRNode.STORE, IRNode.ALLOC, IRNode.ALLOC_OF, "Object", IRNode.COUNTED_LOOP})
|
||||
@IR(failOn = {IRNode.STORE, IRNode.FIELD_ACCESS, IRNode.COUNTED_LOOP})
|
||||
@ExpectedFailure(ruleId = 2, phase = CompilePhase.PRINT_IDEAL, failOn = 1)
|
||||
@ExpectedFailure(ruleId = 2, phase = CompilePhase.PRINT_OPTO_ASSEMBLY, failOn = {2, 3})
|
||||
@ExpectedFailure(ruleId = 2, phase = CompilePhase.PRINT_OPTO_ASSEMBLY, failOn = 2)
|
||||
|
||||
@IR(counts = {IRNode.STORE, "20", IRNode.ALLOC, "1", IRNode.ALLOC_OF, "Object", "2", IRNode.COUNTED_LOOP, "2"})
|
||||
@ExpectedFailure(ruleId = 3, phase = CompilePhase.PRINT_IDEAL, counts = {1, 4})
|
||||
@ExpectedFailure(ruleId = 3, phase = CompilePhase.PRINT_OPTO_ASSEMBLY, counts = 3)
|
||||
@IR(counts = {IRNode.STORE, "20", IRNode.FIELD_ACCESS, "2", IRNode.COUNTED_LOOP, "2"})
|
||||
@ExpectedFailure(ruleId = 3, phase = CompilePhase.PRINT_IDEAL, counts = {1, 3})
|
||||
@ExpectedFailure(ruleId = 3, phase = CompilePhase.PRINT_OPTO_ASSEMBLY, counts = 2)
|
||||
|
||||
@IR(failOn = {IRNode.STORE, IRNode.ALLOC, IRNode.ALLOC_OF, "Object", IRNode.COUNTED_LOOP},
|
||||
counts = {IRNode.STORE, "20", IRNode.ALLOC, "2", IRNode.ALLOC_OF, "Object", "2", IRNode.COUNTED_LOOP, "2"})
|
||||
@ExpectedFailure(ruleId = 4, phase = CompilePhase.PRINT_OPTO_ASSEMBLY, failOn = {2, 3}, counts = {2, 3})
|
||||
@ExpectedFailure(ruleId = 4, phase = CompilePhase.PRINT_IDEAL, failOn = 1, counts = {1, 4})
|
||||
@IR(failOn = {IRNode.STORE, IRNode.FIELD_ACCESS, IRNode.COUNTED_LOOP},
|
||||
counts = {IRNode.STORE, "20", IRNode.FIELD_ACCESS, "2", IRNode.COUNTED_LOOP, "2"})
|
||||
@ExpectedFailure(ruleId = 4, phase = CompilePhase.PRINT_OPTO_ASSEMBLY, failOn = 2, counts = 2)
|
||||
@ExpectedFailure(ruleId = 4, phase = CompilePhase.PRINT_IDEAL, failOn = 1, counts = {1, 3})
|
||||
|
||||
@IR(counts = {IRNode.ALLOC, "2", IRNode.ALLOC_OF, "Object", "1"})
|
||||
@IR(counts = {IRNode.FIELD_ACCESS, "2"})
|
||||
@ExpectedFailure(ruleId = 5, phase = CompilePhase.PRINT_OPTO_ASSEMBLY, counts = 1)
|
||||
public void defaultOnBoth() {
|
||||
obj = new Object();
|
||||
public Object defaultOnBoth(Helper h) {
|
||||
i = 34;
|
||||
l = 34;
|
||||
return h.getString();
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -202,7 +215,7 @@ class Basics {
|
||||
return x;
|
||||
}
|
||||
|
||||
@Run(test = "removeLoopsWithMultipleCompilations")
|
||||
@Run(test = {"removeLoopsWithMultipleCompilations", "defaultOnOptoAssembly", "defaultOnBoth"})
|
||||
@Warmup(1)
|
||||
public void run() {
|
||||
for (int i = 0; i < 10000; i++) {
|
||||
@ -211,6 +224,8 @@ class Basics {
|
||||
for (int i = 0; i < 10000; i++) {
|
||||
removeLoopsWithMultipleCompilations(3);
|
||||
}
|
||||
defaultOnOptoAssembly(new Helper("a", 1));
|
||||
defaultOnBoth(new Helper("a", 1));
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -238,9 +253,9 @@ class Basics {
|
||||
@Test
|
||||
@IR(failOn = {IRNode.ALLOC, IRNode.ALLOC_ARRAY},
|
||||
counts = {IRNode.ALLOC, "0", IRNode.ALLOC_ARRAY, "0"},
|
||||
phase = {CompilePhase.BEFORE_REMOVEUSELESS, CompilePhase.CCP1, CompilePhase.PRINT_OPTO_ASSEMBLY, CompilePhase.DEFAULT})
|
||||
phase = {CompilePhase.BEFORE_REMOVEUSELESS, CompilePhase.CCP1, CompilePhase.DEFAULT})
|
||||
@ExpectedFailure(ruleId = 1, failOn = {1, 2}, counts = {1, 2},
|
||||
phase = {CompilePhase.BEFORE_REMOVEUSELESS, CompilePhase.CCP1, CompilePhase.PRINT_OPTO_ASSEMBLY})
|
||||
phase = {CompilePhase.BEFORE_REMOVEUSELESS, CompilePhase.CCP1, CompilePhase.BEFORE_MACRO_EXPANSION})
|
||||
public void alloc() {
|
||||
obj = new Object();
|
||||
obj2 = new Object[1];
|
||||
@ -248,7 +263,7 @@ class Basics {
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.ALLOC, "2", IRNode.ALLOC_ARRAY, "2"}, // works for all phases
|
||||
phase = {CompilePhase.BEFORE_REMOVEUSELESS, CompilePhase.CCP1, CompilePhase.PRINT_OPTO_ASSEMBLY, CompilePhase.DEFAULT})
|
||||
phase = {CompilePhase.BEFORE_REMOVEUSELESS, CompilePhase.CCP1, CompilePhase.DEFAULT})
|
||||
public void alloc2() {
|
||||
obj = new Object();
|
||||
obj2 = new Object[1];
|
||||
|
||||
@ -147,9 +147,9 @@ public class TestCompilePhaseCollector {
|
||||
String simpleMethodName, CompilePhase... compilePhases) {
|
||||
String methodName = getFullMethodName(testClass, simpleMethodName);
|
||||
Set<CompilePhase> compilePhaseSet = methodToCompilePhases.get(methodName);
|
||||
Assert.assertEquals("must be equal", compilePhases.length, compilePhaseSet.size());
|
||||
Assert.assertEquals("In method " + simpleMethodName + ": must be equal", compilePhases.length, compilePhaseSet.size());
|
||||
for (CompilePhase compilePhase : compilePhases) {
|
||||
Assert.assertTrue("did not find " + compilePhase + " for " + methodName,
|
||||
Assert.assertTrue("In method " + simpleMethodName + ": did not find " + compilePhase + " for " + methodName,
|
||||
methodToCompilePhases.get(methodName).contains(compilePhase));
|
||||
}
|
||||
}
|
||||
@ -193,44 +193,45 @@ public class TestCompilePhaseCollector {
|
||||
}
|
||||
|
||||
static class Opto {
|
||||
@Test
|
||||
@IR(failOn = IRNode.ALLOC)
|
||||
public void test1() {}
|
||||
|
||||
|
||||
@Test
|
||||
@IR(failOn = {IRNode.ALLOC_OF, "Foo"})
|
||||
public void test2() {}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.SCOPE_OBJECT, "2"})
|
||||
public void test3() {}
|
||||
public void test1() {}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.ALLOC_ARRAY_OF, "Foo", "!= 4"})
|
||||
public void test4() {}
|
||||
|
||||
@IR(counts = {IRNode.OOPMAP_WITH, "Foo", "2"})
|
||||
public void test2() {}
|
||||
|
||||
@Test
|
||||
@IR(failOn = IRNode.FIELD_ACCESS)
|
||||
@IR(counts = {IRNode.CHECKCAST_ARRAY, "2"})
|
||||
public void test5() {}
|
||||
public void test3() {}
|
||||
|
||||
@Test
|
||||
@IR(failOn = {IRNode.CHECKCAST_ARRAYCOPY, IRNode.CHECKCAST_ARRAY_OF, "Foo"})
|
||||
@IR(counts = {IRNode.ALLOC, "2", IRNode.ALLOC_ARRAY_OF, "Foo", "> 1"})
|
||||
@IR(counts = {IRNode.CBZ_HI, "> 1"})
|
||||
public void test4() {}
|
||||
|
||||
@Test
|
||||
@IR(failOn = {IRNode.CBNZW_HI})
|
||||
@IR(counts = {IRNode.CBZ_LS, "2", IRNode.CBZW_LS, "> 1"})
|
||||
public void test5() {}
|
||||
|
||||
@Test
|
||||
@IR(failOn = {IRNode.CBNZW_HI})
|
||||
@IR(counts = {IRNode.CBZW_LS, "> 1"})
|
||||
public void test6() {}
|
||||
}
|
||||
|
||||
static class IdealAndOpto {
|
||||
@Test
|
||||
@IR(failOn = IRNode.ALLOC)
|
||||
@IR(failOn = IRNode.FIELD_ACCESS)
|
||||
@IR(failOn = IRNode.STORE)
|
||||
public void test1() {}
|
||||
|
||||
|
||||
@Test
|
||||
@IR(failOn = {IRNode.ALLOC_OF, "Foo"})
|
||||
@IR(failOn = {IRNode.CHECKCAST_ARRAY_OF, "Foo"})
|
||||
@IR(failOn = {IRNode.STORE_OF_FIELD, "iFld"})
|
||||
public void test2() {}
|
||||
|
||||
@ -241,7 +242,7 @@ public class TestCompilePhaseCollector {
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.LOAD_OF_FIELD, "iFld", "!= 4"})
|
||||
@IR(counts = {IRNode.ALLOC_ARRAY_OF, "Foo", "!= 4"})
|
||||
@IR(counts = {IRNode.OOPMAP_WITH, "Foo", "!= 4"})
|
||||
public void test4() {}
|
||||
|
||||
|
||||
@ -254,7 +255,7 @@ public class TestCompilePhaseCollector {
|
||||
|
||||
@Test
|
||||
@IR(failOn = {IRNode.STORE, IRNode.CHECKCAST_ARRAY_OF, "Foo"})
|
||||
@IR(counts = {IRNode.ALLOC, "2", IRNode.STORE_OF_FIELD, "iFld", "> 1"})
|
||||
@IR(counts = {IRNode.FIELD_ACCESS, "2", IRNode.STORE_OF_FIELD, "iFld", "> 1"})
|
||||
public void test6() {}
|
||||
}
|
||||
|
||||
@ -308,7 +309,7 @@ public class TestCompilePhaseCollector {
|
||||
|
||||
@Test
|
||||
@IR(failOn = IRNode.ALLOC, phase = AFTER_PARSING)
|
||||
@IR(failOn = {IRNode.ALLOC_ARRAY_OF, "Foo"}, phase = DEFAULT)
|
||||
@IR(failOn = {IRNode.OOPMAP_WITH, "Foo"}, phase = DEFAULT)
|
||||
public void test3() {}
|
||||
|
||||
@Test
|
||||
@ -326,7 +327,7 @@ public class TestCompilePhaseCollector {
|
||||
|
||||
@Test
|
||||
@IR(failOn = IRNode.STORE, phase = {PHASEIDEALLOOP1, PHASEIDEALLOOP2})
|
||||
@IR(failOn = IRNode.ALLOC, phase = DEFAULT)
|
||||
@IR(failOn = IRNode.FIELD_ACCESS, phase = DEFAULT)
|
||||
@IR(failOn = IRNode.STORE, phase = {FINAL_CODE, OPTIMIZE_FINISHED})
|
||||
public void test7() {}
|
||||
|
||||
@ -346,7 +347,7 @@ public class TestCompilePhaseCollector {
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.ALLOC, "< 3"}, phase = AFTER_PARSING)
|
||||
@IR(counts = {IRNode.ALLOC_ARRAY_OF, "Foo", ">=3"}, phase = DEFAULT)
|
||||
@IR(counts = {IRNode.OOPMAP_WITH, "Foo", ">=3"}, phase = DEFAULT)
|
||||
public void test3A() {}
|
||||
|
||||
@Test
|
||||
@ -364,7 +365,7 @@ public class TestCompilePhaseCollector {
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.STORE, "3"}, phase = {PHASEIDEALLOOP1, PHASEIDEALLOOP2})
|
||||
@IR(counts = {IRNode.ALLOC, "3"}, phase = DEFAULT)
|
||||
@IR(counts = {IRNode.FIELD_ACCESS, "3"}, phase = DEFAULT)
|
||||
@IR(counts = {IRNode.STORE, "3"}, phase = {FINAL_CODE, OPTIMIZE_FINISHED})
|
||||
public void test7A() {}
|
||||
|
||||
@ -386,13 +387,13 @@ public class TestCompilePhaseCollector {
|
||||
@Test
|
||||
@IR(failOn = IRNode.STORE, phase = AFTER_PARSING)
|
||||
@IR(counts = {IRNode.STORE, "3"}, phase = DEFAULT)
|
||||
@IR(failOn = {IRNode.ALLOC_OF, "Foo"}, phase = DEFAULT)
|
||||
@IR(failOn = {IRNode.OOPMAP_WITH, "Foo"}, phase = DEFAULT)
|
||||
public void mix3() {}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.STORE, "3"}, phase = AFTER_PARSING)
|
||||
@IR(counts = {IRNode.STORE_OF_CLASS, "Foo", "3"}, phase = DEFAULT)
|
||||
@IR(failOn = IRNode.ALLOC, phase = DEFAULT)
|
||||
@IR(failOn = IRNode.FIELD_ACCESS, phase = DEFAULT)
|
||||
public void mix4() {}
|
||||
|
||||
@Test
|
||||
@ -402,7 +403,7 @@ public class TestCompilePhaseCollector {
|
||||
|
||||
@Test
|
||||
@IR(failOn = IRNode.STORE, phase = {PHASEIDEALLOOP1, PHASEIDEALLOOP2})
|
||||
@IR(counts = {IRNode.ALLOC, "3"}, phase = DEFAULT)
|
||||
@IR(counts = {IRNode.FIELD_ACCESS, "3"}, phase = DEFAULT)
|
||||
@IR(failOn = IRNode.STORE, phase = {FINAL_CODE, OPTIMIZE_FINISHED})
|
||||
public void mix6() {}
|
||||
|
||||
@ -413,7 +414,7 @@ public class TestCompilePhaseCollector {
|
||||
|
||||
@Test
|
||||
@IR(failOn = IRNode.STORE, phase = {PHASEIDEALLOOP1, DEFAULT, PHASEIDEALLOOP2})
|
||||
@IR(counts = {IRNode.ALLOC, "3"}, phase = {FINAL_CODE, OPTIMIZE_FINISHED, DEFAULT})
|
||||
@IR(counts = {IRNode.FIELD_ACCESS, "3"}, phase = {FINAL_CODE, OPTIMIZE_FINISHED, DEFAULT})
|
||||
public void mix8() {}
|
||||
|
||||
@Test
|
||||
@ -425,13 +426,13 @@ public class TestCompilePhaseCollector {
|
||||
public void mix10() {}
|
||||
|
||||
@Test
|
||||
@IR(failOn = IRNode.ALLOC, phase = {PHASEIDEALLOOP1, PRINT_OPTO_ASSEMBLY, PHASEIDEALLOOP2})
|
||||
@IR(counts = {IRNode.ALLOC, "3"}, phase = {FINAL_CODE, OPTIMIZE_FINISHED, DEFAULT})
|
||||
@IR(failOn = IRNode.FIELD_ACCESS, phase = {PHASEIDEALLOOP1, PRINT_OPTO_ASSEMBLY, PHASEIDEALLOOP2})
|
||||
@IR(counts = {IRNode.FIELD_ACCESS, "3"}, phase = {FINAL_CODE, OPTIMIZE_FINISHED, DEFAULT})
|
||||
public void mix11() {}
|
||||
|
||||
@Test
|
||||
@IR(failOn = IRNode.STORE, phase = {PHASEIDEALLOOP1, PRINT_IDEAL, PHASEIDEALLOOP2})
|
||||
@IR(counts = {IRNode.ALLOC, "3"}, phase = {FINAL_CODE, OPTIMIZE_FINISHED, DEFAULT})
|
||||
@IR(counts = {IRNode.FIELD_ACCESS, "3"}, phase = {FINAL_CODE, OPTIMIZE_FINISHED, DEFAULT})
|
||||
public void mix12() {}
|
||||
|
||||
@Test
|
||||
@ -456,7 +457,7 @@ public class TestCompilePhaseCollector {
|
||||
|
||||
@Test
|
||||
@IR(counts = {"foo", "3"}, phase = {PHASEIDEALLOOP1, PHASEIDEALLOOP2})
|
||||
@IR(failOn = IRNode.ALLOC, phase = {FINAL_CODE, OPTIMIZE_FINISHED, DEFAULT})
|
||||
@IR(failOn = IRNode.FIELD_ACCESS, phase = {FINAL_CODE, OPTIMIZE_FINISHED, DEFAULT})
|
||||
public void mix17() {}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user