Skip to content

Commit c94bc74

Browse files
marc-chevalierchhagedorn
authored andcommitted
8352595: Regression of JDK-8314999 in IR matching
Reviewed-by: chagedorn, thartmann
1 parent 48fac66 commit c94bc74

File tree

3 files changed

+87
-69
lines changed

3 files changed

+87
-69
lines changed

test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/TestBadFormat.java

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1163,15 +1163,17 @@ public void machNode() {}
11631163
public void duplicatedPhase() {}
11641164

11651165
@Test
1166-
@FailCount(4)
1167-
@IR(failOn = IRNode.ALLOC, phase = {CompilePhase.FINAL_CODE, CompilePhase.AFTER_MACRO_EXPANSION})
1168-
@IR(failOn = IRNode.ALLOC, phase = CompilePhase.PRINT_IDEAL)
1166+
@FailCount(6)
1167+
@IR(failOn = IRNode.ALLOC, phase = {CompilePhase.FINAL_CODE, CompilePhase.AFTER_MACRO_EXPANSION}) // FINAL_CODE not available
1168+
@IR(failOn = IRNode.ALLOC, phase = CompilePhase.PRINT_IDEAL) // PRINT_IDEAL not available
1169+
@IR(failOn = IRNode.ALLOC, phase = {CompilePhase.ITER_GVN1, CompilePhase.AFTER_PARSING}) // works
11691170
@IR(failOn = IRNode.ALLOC, phase = {CompilePhase.ITER_GVN1, CompilePhase.AFTER_PARSING,
1170-
CompilePhase.PRINT_OPTO_ASSEMBLY}) // works
1171-
@IR(failOn = IRNode.ALLOC_ARRAY, phase = {CompilePhase.FINAL_CODE, CompilePhase.AFTER_MACRO_EXPANSION})
1172-
@IR(failOn = IRNode.ALLOC_ARRAY, phase = CompilePhase.PRINT_IDEAL)
1171+
CompilePhase.PRINT_OPTO_ASSEMBLY}) // PRINT_OPTO_ASSEMBLY not available
1172+
@IR(failOn = IRNode.ALLOC_ARRAY, phase = {CompilePhase.FINAL_CODE, CompilePhase.AFTER_MACRO_EXPANSION}) // FINAL_CODE not available
1173+
@IR(failOn = IRNode.ALLOC_ARRAY, phase = CompilePhase.PRINT_IDEAL) // PRINT_IDEAL not available
1174+
@IR(failOn = IRNode.ALLOC_ARRAY, phase = {CompilePhase.ITER_GVN1, CompilePhase.AFTER_PARSING}) // works
11731175
@IR(failOn = IRNode.ALLOC_ARRAY, phase = {CompilePhase.ITER_GVN1, CompilePhase.AFTER_PARSING,
1174-
CompilePhase.PRINT_OPTO_ASSEMBLY}) // works
1176+
CompilePhase.PRINT_OPTO_ASSEMBLY}) // PRINT_OPTO_ASSEMBLY not available
11751177
public void alloc() {}
11761178

11771179
@Test

test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/TestPhaseIRMatching.java

Lines changed: 49 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,16 @@ class Basics {
107107
Object obj3;
108108
Object obj4;
109109

110+
public class Helper {
111+
private String s;
112+
113+
public Helper(String s, int i) {
114+
this.s = s;
115+
}
116+
117+
public String getString() { return s; }
118+
}
119+
110120
@Test
111121
@IR(failOn = IRNode.STORE, phase = {CompilePhase.DEFAULT, CompilePhase.PRINT_IDEAL})
112122
@ExpectedFailure(ruleId = 1, failOn = 1) // Only one failure - remove duplicated phases after mapping DEFAULT
@@ -115,15 +125,16 @@ public void removeDuplicates() {
115125
}
116126

117127
@Test
118-
@IR(failOn = {IRNode.STORE, IRNode.ALLOC, IRNode.COUNTED_LOOP},
119-
counts = {IRNode.STORE, "3", IRNode.ALLOC, "1", IRNode.COUNTED_LOOP, "2"})
128+
@IR(failOn = {IRNode.STORE, IRNode.FIELD_ACCESS, IRNode.COUNTED_LOOP},
129+
counts = {IRNode.STORE, "3", IRNode.FIELD_ACCESS, "2", IRNode.COUNTED_LOOP, "2"})
120130
@ExpectedFailure(ruleId = 1, phase = CompilePhase.PRINT_IDEAL, failOn = 1, counts = {1, 3})
121-
@ExpectedFailure(ruleId = 1, phase = CompilePhase.PRINT_OPTO_ASSEMBLY, counts = 2)
131+
@ExpectedFailure(ruleId = 1, phase = CompilePhase.PRINT_OPTO_ASSEMBLY, failOn = 2)
122132

123-
@IR(failOn = {IRNode.STORE, IRNode.ALLOC, IRNode.COUNTED_LOOP})
133+
@IR(failOn = {IRNode.STORE, IRNode.FIELD_ACCESS, IRNode.COUNTED_LOOP})
124134
@ExpectedFailure(ruleId = 2, phase = CompilePhase.PRINT_IDEAL, failOn = 1)
135+
@ExpectedFailure(ruleId = 2, phase = CompilePhase.PRINT_OPTO_ASSEMBLY, failOn = 2)
125136

126-
@IR(counts = {IRNode.STORE, "3", IRNode.ALLOC, "1", IRNode.COUNTED_LOOP, "2"})
137+
@IR(counts = {IRNode.STORE, "3", IRNode.FIELD_ACCESS, "1", IRNode.COUNTED_LOOP, "2"})
127138
@ExpectedFailure(ruleId = 3, phase = CompilePhase.PRINT_IDEAL, counts = {1, 3})
128139
@ExpectedFailure(ruleId = 3, phase = CompilePhase.PRINT_OPTO_ASSEMBLY, counts = 2)
129140

@@ -135,52 +146,54 @@ public void defaultOnIdeal() {
135146
}
136147

137148
@Test
138-
@IR(failOn = {IRNode.STORE_F, IRNode.ALLOC, IRNode.COUNTED_LOOP},
139-
counts = {IRNode.STORE_F, "3", IRNode.ALLOC, "1", IRNode.COUNTED_LOOP, "2"})
149+
@IR(failOn = {IRNode.STORE_F, IRNode.FIELD_ACCESS, IRNode.COUNTED_LOOP},
150+
counts = {IRNode.STORE_F, "3", IRNode.FIELD_ACCESS, "1", IRNode.COUNTED_LOOP, "2"})
140151
@ExpectedFailure(ruleId = 1, phase = CompilePhase.PRINT_OPTO_ASSEMBLY, failOn = 2)
141152
@ExpectedFailure(ruleId = 1, phase = CompilePhase.PRINT_IDEAL, counts = {1, 3})
142153

143-
@IR(failOn = {IRNode.STORE_F, IRNode.ALLOC, IRNode.COUNTED_LOOP})
154+
@IR(failOn = {IRNode.STORE_F, IRNode.FIELD_ACCESS, IRNode.COUNTED_LOOP})
144155
@ExpectedFailure(ruleId = 2, phase = CompilePhase.PRINT_OPTO_ASSEMBLY, failOn = 2)
145156

146-
@IR(counts = {IRNode.STORE_F, "3", IRNode.ALLOC, "1", IRNode.COUNTED_LOOP, "2"})
157+
@IR(counts = {IRNode.STORE_F, "3", IRNode.FIELD_ACCESS, "1", IRNode.COUNTED_LOOP, "2"})
147158
@ExpectedFailure(ruleId = 3, phase = CompilePhase.PRINT_IDEAL, counts = {1, 3})
148159

149-
@IR(failOn = {IRNode.STORE_F, IRNode.ALLOC, IRNode.COUNTED_LOOP},
150-
counts = {IRNode.STORE_F, "3", IRNode.ALLOC, "2", IRNode.COUNTED_LOOP, "2"})
160+
@IR(failOn = {IRNode.STORE_F, IRNode.FIELD_ACCESS, IRNode.COUNTED_LOOP},
161+
counts = {IRNode.STORE_F, "3", IRNode.FIELD_ACCESS, "2", IRNode.COUNTED_LOOP, "2"})
151162

152163
@ExpectedFailure(ruleId = 4, phase = CompilePhase.PRINT_OPTO_ASSEMBLY, failOn = 2, counts = 2)
153164
@ExpectedFailure(ruleId = 4, phase = CompilePhase.PRINT_IDEAL, counts = {1, 3})
154165

155-
@IR(counts = {IRNode.ALLOC, "2"})
166+
@IR(counts = {IRNode.FIELD_ACCESS, "2"})
156167
@ExpectedFailure(ruleId = 5, phase = CompilePhase.PRINT_OPTO_ASSEMBLY, counts = 1)
157-
public Object defaultOnOptoAssembly() {
158-
return new Object();
168+
public Object defaultOnOptoAssembly(Helper h) {
169+
return h.getString();
159170
}
160171

161172
@Test
162-
@IR(failOn = {IRNode.STORE, IRNode.ALLOC, IRNode.ALLOC_OF, "Object", IRNode.COUNTED_LOOP},
163-
counts = {IRNode.STORE, "20", IRNode.ALLOC, "1", IRNode.ALLOC_OF, "Object", "1", IRNode.COUNTED_LOOP, "2"})
164-
@ExpectedFailure(ruleId = 1, phase = CompilePhase.PRINT_OPTO_ASSEMBLY, failOn = {2, 3})
165-
@ExpectedFailure(ruleId = 1, phase = CompilePhase.PRINT_IDEAL, failOn = 1, counts = {1, 4})
173+
@IR(failOn = {IRNode.STORE, IRNode.FIELD_ACCESS, IRNode.COUNTED_LOOP},
174+
counts = {IRNode.STORE, "20", IRNode.FIELD_ACCESS, "3", IRNode.COUNTED_LOOP, "2"})
175+
@ExpectedFailure(ruleId = 1, phase = CompilePhase.PRINT_OPTO_ASSEMBLY, failOn = 2)
176+
@ExpectedFailure(ruleId = 1, phase = CompilePhase.PRINT_IDEAL, failOn = 1, counts = {1, 3})
166177

167-
@IR(failOn = {IRNode.STORE, IRNode.ALLOC, IRNode.ALLOC_OF, "Object", IRNode.COUNTED_LOOP})
178+
@IR(failOn = {IRNode.STORE, IRNode.FIELD_ACCESS, IRNode.COUNTED_LOOP})
168179
@ExpectedFailure(ruleId = 2, phase = CompilePhase.PRINT_IDEAL, failOn = 1)
169-
@ExpectedFailure(ruleId = 2, phase = CompilePhase.PRINT_OPTO_ASSEMBLY, failOn = {2, 3})
180+
@ExpectedFailure(ruleId = 2, phase = CompilePhase.PRINT_OPTO_ASSEMBLY, failOn = 2)
170181

171-
@IR(counts = {IRNode.STORE, "20", IRNode.ALLOC, "1", IRNode.ALLOC_OF, "Object", "2", IRNode.COUNTED_LOOP, "2"})
172-
@ExpectedFailure(ruleId = 3, phase = CompilePhase.PRINT_IDEAL, counts = {1, 4})
173-
@ExpectedFailure(ruleId = 3, phase = CompilePhase.PRINT_OPTO_ASSEMBLY, counts = 3)
182+
@IR(counts = {IRNode.STORE, "20", IRNode.FIELD_ACCESS, "2", IRNode.COUNTED_LOOP, "2"})
183+
@ExpectedFailure(ruleId = 3, phase = CompilePhase.PRINT_IDEAL, counts = {1, 3})
184+
@ExpectedFailure(ruleId = 3, phase = CompilePhase.PRINT_OPTO_ASSEMBLY, counts = 2)
174185

175-
@IR(failOn = {IRNode.STORE, IRNode.ALLOC, IRNode.ALLOC_OF, "Object", IRNode.COUNTED_LOOP},
176-
counts = {IRNode.STORE, "20", IRNode.ALLOC, "2", IRNode.ALLOC_OF, "Object", "2", IRNode.COUNTED_LOOP, "2"})
177-
@ExpectedFailure(ruleId = 4, phase = CompilePhase.PRINT_OPTO_ASSEMBLY, failOn = {2, 3}, counts = {2, 3})
178-
@ExpectedFailure(ruleId = 4, phase = CompilePhase.PRINT_IDEAL, failOn = 1, counts = {1, 4})
186+
@IR(failOn = {IRNode.STORE, IRNode.FIELD_ACCESS, IRNode.COUNTED_LOOP},
187+
counts = {IRNode.STORE, "20", IRNode.FIELD_ACCESS, "2", IRNode.COUNTED_LOOP, "2"})
188+
@ExpectedFailure(ruleId = 4, phase = CompilePhase.PRINT_OPTO_ASSEMBLY, failOn = 2, counts = 2)
189+
@ExpectedFailure(ruleId = 4, phase = CompilePhase.PRINT_IDEAL, failOn = 1, counts = {1, 3})
179190

180-
@IR(counts = {IRNode.ALLOC, "2", IRNode.ALLOC_OF, "Object", "1"})
191+
@IR(counts = {IRNode.FIELD_ACCESS, "2"})
181192
@ExpectedFailure(ruleId = 5, phase = CompilePhase.PRINT_OPTO_ASSEMBLY, counts = 1)
182-
public void defaultOnBoth() {
183-
obj = new Object();
193+
public Object defaultOnBoth(Helper h) {
194+
i = 34;
195+
l = 34;
196+
return h.getString();
184197
}
185198

186199
@Test
@@ -202,7 +215,7 @@ public int removeLoopsWithMultipleCompilations(int k) {
202215
return x;
203216
}
204217

205-
@Run(test = "removeLoopsWithMultipleCompilations")
218+
@Run(test = {"removeLoopsWithMultipleCompilations", "defaultOnOptoAssembly", "defaultOnBoth"})
206219
@Warmup(1)
207220
public void run() {
208221
for (int i = 0; i < 10000; i++) {
@@ -211,6 +224,8 @@ public void run() {
211224
for (int i = 0; i < 10000; i++) {
212225
removeLoopsWithMultipleCompilations(3);
213226
}
227+
defaultOnOptoAssembly(new Helper("a", 1));
228+
defaultOnBoth(new Helper("a", 1));
214229
}
215230

216231
@Test
@@ -238,17 +253,17 @@ public int limit() {
238253
@Test
239254
@IR(failOn = {IRNode.ALLOC, IRNode.ALLOC_ARRAY},
240255
counts = {IRNode.ALLOC, "0", IRNode.ALLOC_ARRAY, "0"},
241-
phase = {CompilePhase.BEFORE_REMOVEUSELESS, CompilePhase.CCP1, CompilePhase.PRINT_OPTO_ASSEMBLY, CompilePhase.DEFAULT})
256+
phase = {CompilePhase.BEFORE_REMOVEUSELESS, CompilePhase.CCP1, CompilePhase.DEFAULT})
242257
@ExpectedFailure(ruleId = 1, failOn = {1, 2}, counts = {1, 2},
243-
phase = {CompilePhase.BEFORE_REMOVEUSELESS, CompilePhase.CCP1, CompilePhase.PRINT_OPTO_ASSEMBLY})
258+
phase = {CompilePhase.BEFORE_REMOVEUSELESS, CompilePhase.CCP1, CompilePhase.BEFORE_MACRO_EXPANSION})
244259
public void alloc() {
245260
obj = new Object();
246261
obj2 = new Object[1];
247262
}
248263

249264
@Test
250265
@IR(counts = {IRNode.ALLOC, "2", IRNode.ALLOC_ARRAY, "2"}, // works for all phases
251-
phase = {CompilePhase.BEFORE_REMOVEUSELESS, CompilePhase.CCP1, CompilePhase.PRINT_OPTO_ASSEMBLY, CompilePhase.DEFAULT})
266+
phase = {CompilePhase.BEFORE_REMOVEUSELESS, CompilePhase.CCP1, CompilePhase.DEFAULT})
252267
public void alloc2() {
253268
obj = new Object();
254269
obj2 = new Object[1];

test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/flag/TestCompilePhaseCollector.java

Lines changed: 29 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -147,9 +147,9 @@ private void assertContainsOnly(Map<String, Set<CompilePhase>> methodToCompilePh
147147
String simpleMethodName, CompilePhase... compilePhases) {
148148
String methodName = getFullMethodName(testClass, simpleMethodName);
149149
Set<CompilePhase> compilePhaseSet = methodToCompilePhases.get(methodName);
150-
Assert.assertEquals("must be equal", compilePhases.length, compilePhaseSet.size());
150+
Assert.assertEquals("In method " + simpleMethodName + ": must be equal", compilePhases.length, compilePhaseSet.size());
151151
for (CompilePhase compilePhase : compilePhases) {
152-
Assert.assertTrue("did not find " + compilePhase + " for " + methodName,
152+
Assert.assertTrue("In method " + simpleMethodName + ": did not find " + compilePhase + " for " + methodName,
153153
methodToCompilePhases.get(methodName).contains(compilePhase));
154154
}
155155
}
@@ -193,44 +193,45 @@ public void test6() {}
193193
}
194194

195195
static class Opto {
196+
196197
@Test
197-
@IR(failOn = IRNode.ALLOC)
198+
@IR(counts = {IRNode.SCOPE_OBJECT, "2"})
198199
public void test1() {}
199200

200-
201201
@Test
202-
@IR(failOn = {IRNode.ALLOC_OF, "Foo"})
202+
@IR(counts = {IRNode.OOPMAP_WITH, "Foo", "2"})
203203
public void test2() {}
204204

205205
@Test
206-
@IR(counts = {IRNode.SCOPE_OBJECT, "2"})
206+
@IR(failOn = IRNode.FIELD_ACCESS)
207+
@IR(counts = {IRNode.CHECKCAST_ARRAY, "2"})
207208
public void test3() {}
208209

209210
@Test
210-
@IR(counts = {IRNode.ALLOC_ARRAY_OF, "Foo", "!= 4"})
211+
@IR(failOn = {IRNode.CHECKCAST_ARRAYCOPY, IRNode.CHECKCAST_ARRAY_OF, "Foo"})
212+
@IR(counts = {IRNode.CBZ_HI, "> 1"})
211213
public void test4() {}
212214

213-
214215
@Test
215-
@IR(failOn = IRNode.FIELD_ACCESS)
216-
@IR(counts = {IRNode.CHECKCAST_ARRAY, "2"})
216+
@IR(failOn = {IRNode.CBNZW_HI})
217+
@IR(counts = {IRNode.CBZ_LS, "2", IRNode.CBZW_LS, "> 1"})
217218
public void test5() {}
218219

219220
@Test
220-
@IR(failOn = {IRNode.CHECKCAST_ARRAYCOPY, IRNode.CHECKCAST_ARRAY_OF, "Foo"})
221-
@IR(counts = {IRNode.ALLOC, "2", IRNode.ALLOC_ARRAY_OF, "Foo", "> 1"})
221+
@IR(failOn = {IRNode.CBNZW_HI})
222+
@IR(counts = {IRNode.CBZW_LS, "> 1"})
222223
public void test6() {}
223224
}
224225

225226
static class IdealAndOpto {
226227
@Test
227-
@IR(failOn = IRNode.ALLOC)
228+
@IR(failOn = IRNode.FIELD_ACCESS)
228229
@IR(failOn = IRNode.STORE)
229230
public void test1() {}
230231

231232

232233
@Test
233-
@IR(failOn = {IRNode.ALLOC_OF, "Foo"})
234+
@IR(failOn = {IRNode.CHECKCAST_ARRAY_OF, "Foo"})
234235
@IR(failOn = {IRNode.STORE_OF_FIELD, "iFld"})
235236
public void test2() {}
236237

@@ -241,7 +242,7 @@ public void test3() {}
241242

242243
@Test
243244
@IR(counts = {IRNode.LOAD_OF_FIELD, "iFld", "!= 4"})
244-
@IR(counts = {IRNode.ALLOC_ARRAY_OF, "Foo", "!= 4"})
245+
@IR(counts = {IRNode.OOPMAP_WITH, "Foo", "!= 4"})
245246
public void test4() {}
246247

247248

@@ -254,7 +255,7 @@ public void test5() {}
254255

255256
@Test
256257
@IR(failOn = {IRNode.STORE, IRNode.CHECKCAST_ARRAY_OF, "Foo"})
257-
@IR(counts = {IRNode.ALLOC, "2", IRNode.STORE_OF_FIELD, "iFld", "> 1"})
258+
@IR(counts = {IRNode.FIELD_ACCESS, "2", IRNode.STORE_OF_FIELD, "iFld", "> 1"})
258259
public void test6() {}
259260
}
260261

@@ -308,7 +309,7 @@ public void test2() {}
308309

309310
@Test
310311
@IR(failOn = IRNode.ALLOC, phase = AFTER_PARSING)
311-
@IR(failOn = {IRNode.ALLOC_ARRAY_OF, "Foo"}, phase = DEFAULT)
312+
@IR(failOn = {IRNode.OOPMAP_WITH, "Foo"}, phase = DEFAULT)
312313
public void test3() {}
313314

314315
@Test
@@ -326,7 +327,7 @@ public void test6() {}
326327

327328
@Test
328329
@IR(failOn = IRNode.STORE, phase = {PHASEIDEALLOOP1, PHASEIDEALLOOP2})
329-
@IR(failOn = IRNode.ALLOC, phase = DEFAULT)
330+
@IR(failOn = IRNode.FIELD_ACCESS, phase = DEFAULT)
330331
@IR(failOn = IRNode.STORE, phase = {FINAL_CODE, OPTIMIZE_FINISHED})
331332
public void test7() {}
332333

@@ -346,7 +347,7 @@ public void test2A() {}
346347

347348
@Test
348349
@IR(counts = {IRNode.ALLOC, "< 3"}, phase = AFTER_PARSING)
349-
@IR(counts = {IRNode.ALLOC_ARRAY_OF, "Foo", ">=3"}, phase = DEFAULT)
350+
@IR(counts = {IRNode.OOPMAP_WITH, "Foo", ">=3"}, phase = DEFAULT)
350351
public void test3A() {}
351352

352353
@Test
@@ -364,7 +365,7 @@ public void test6A() {}
364365

365366
@Test
366367
@IR(counts = {IRNode.STORE, "3"}, phase = {PHASEIDEALLOOP1, PHASEIDEALLOOP2})
367-
@IR(counts = {IRNode.ALLOC, "3"}, phase = DEFAULT)
368+
@IR(counts = {IRNode.FIELD_ACCESS, "3"}, phase = DEFAULT)
368369
@IR(counts = {IRNode.STORE, "3"}, phase = {FINAL_CODE, OPTIMIZE_FINISHED})
369370
public void test7A() {}
370371

@@ -386,13 +387,13 @@ public void mix2() {}
386387
@Test
387388
@IR(failOn = IRNode.STORE, phase = AFTER_PARSING)
388389
@IR(counts = {IRNode.STORE, "3"}, phase = DEFAULT)
389-
@IR(failOn = {IRNode.ALLOC_OF, "Foo"}, phase = DEFAULT)
390+
@IR(failOn = {IRNode.OOPMAP_WITH, "Foo"}, phase = DEFAULT)
390391
public void mix3() {}
391392

392393
@Test
393394
@IR(counts = {IRNode.STORE, "3"}, phase = AFTER_PARSING)
394395
@IR(counts = {IRNode.STORE_OF_CLASS, "Foo", "3"}, phase = DEFAULT)
395-
@IR(failOn = IRNode.ALLOC, phase = DEFAULT)
396+
@IR(failOn = IRNode.FIELD_ACCESS, phase = DEFAULT)
396397
public void mix4() {}
397398

398399
@Test
@@ -402,7 +403,7 @@ public void mix5() {}
402403

403404
@Test
404405
@IR(failOn = IRNode.STORE, phase = {PHASEIDEALLOOP1, PHASEIDEALLOOP2})
405-
@IR(counts = {IRNode.ALLOC, "3"}, phase = DEFAULT)
406+
@IR(counts = {IRNode.FIELD_ACCESS, "3"}, phase = DEFAULT)
406407
@IR(failOn = IRNode.STORE, phase = {FINAL_CODE, OPTIMIZE_FINISHED})
407408
public void mix6() {}
408409

@@ -413,7 +414,7 @@ public void mix7() {}
413414

414415
@Test
415416
@IR(failOn = IRNode.STORE, phase = {PHASEIDEALLOOP1, DEFAULT, PHASEIDEALLOOP2})
416-
@IR(counts = {IRNode.ALLOC, "3"}, phase = {FINAL_CODE, OPTIMIZE_FINISHED, DEFAULT})
417+
@IR(counts = {IRNode.FIELD_ACCESS, "3"}, phase = {FINAL_CODE, OPTIMIZE_FINISHED, DEFAULT})
417418
public void mix8() {}
418419

419420
@Test
@@ -425,13 +426,13 @@ public void mix9() {}
425426
public void mix10() {}
426427

427428
@Test
428-
@IR(failOn = IRNode.ALLOC, phase = {PHASEIDEALLOOP1, PRINT_OPTO_ASSEMBLY, PHASEIDEALLOOP2})
429-
@IR(counts = {IRNode.ALLOC, "3"}, phase = {FINAL_CODE, OPTIMIZE_FINISHED, DEFAULT})
429+
@IR(failOn = IRNode.FIELD_ACCESS, phase = {PHASEIDEALLOOP1, PRINT_OPTO_ASSEMBLY, PHASEIDEALLOOP2})
430+
@IR(counts = {IRNode.FIELD_ACCESS, "3"}, phase = {FINAL_CODE, OPTIMIZE_FINISHED, DEFAULT})
430431
public void mix11() {}
431432

432433
@Test
433434
@IR(failOn = IRNode.STORE, phase = {PHASEIDEALLOOP1, PRINT_IDEAL, PHASEIDEALLOOP2})
434-
@IR(counts = {IRNode.ALLOC, "3"}, phase = {FINAL_CODE, OPTIMIZE_FINISHED, DEFAULT})
435+
@IR(counts = {IRNode.FIELD_ACCESS, "3"}, phase = {FINAL_CODE, OPTIMIZE_FINISHED, DEFAULT})
435436
public void mix12() {}
436437

437438
@Test
@@ -456,7 +457,7 @@ public void mix16() {}
456457

457458
@Test
458459
@IR(counts = {"foo", "3"}, phase = {PHASEIDEALLOOP1, PHASEIDEALLOOP2})
459-
@IR(failOn = IRNode.ALLOC, phase = {FINAL_CODE, OPTIMIZE_FINISHED, DEFAULT})
460+
@IR(failOn = IRNode.FIELD_ACCESS, phase = {FINAL_CODE, OPTIMIZE_FINISHED, DEFAULT})
460461
public void mix17() {}
461462
}
462463
}

0 commit comments

Comments
 (0)