< prev index next >

test/hotspot/jtreg/compiler/valhalla/valuetypes/TestBasicFunctionality.java

Print this page

        

*** 183,198 **** Asserts.assertEQ(test8(false), hash(rI + 1, rL + 1)); } // Merge value types created from two branches @Test(valid = ValueTypePassFieldsAsArgsOn, match = {LOAD}, matchCount = {12}, failOn = TRAP + ALLOC + STORE) ! @Test(valid = ValueTypePassFieldsAsArgsOff, match = {ALLOC, STORE}, matchCount = {1, 5}, failOn = LOAD + TRAP) ! public MyValue1 test9(boolean b) { MyValue1 v; if (b) { // Value type is not allocated ! v = MyValue1.createWithFieldsInline(rI, rL); } else { // Value type is allocated by the callee v = MyValue1.createWithFieldsDontInline(rI + 1, rL + 1); } // Need to allocate value type if 'b' is true --- 183,201 ---- Asserts.assertEQ(test8(false), hash(rI + 1, rL + 1)); } // Merge value types created from two branches @Test(valid = ValueTypePassFieldsAsArgsOn, match = {LOAD}, matchCount = {12}, failOn = TRAP + ALLOC + STORE) ! @Test(valid = ValueTypePassFieldsAsArgsOff, match = {ALLOC, STORE}, matchCount = {1, 12}, failOn = LOAD + TRAP) ! public MyValue1 test9(boolean b, int localrI, long localrL) { MyValue1 v; if (b) { // Value type is not allocated ! // Do not use rI/rL directly here as null values may cause ! // some redundant null initializations to be optimized out ! // and matching to fail. ! v = MyValue1.createWithFieldsInline(localrI, localrL); } else { // Value type is allocated by the callee v = MyValue1.createWithFieldsDontInline(rI + 1, rL + 1); } // Need to allocate value type if 'b' is true
*** 206,219 **** return v; } @DontCompile public void test9_verifier(boolean warmup) { ! MyValue1 v = test9(true); Asserts.assertEQ(v.x, rI); Asserts.assertEQ(v.y, hash()); ! v = test9(false); Asserts.assertEQ(v.x, rI); Asserts.assertEQ(v.y, hash(rI + 1, rL + 1) + 1); } // Merge value types created in a loop (not inlined) --- 209,222 ---- return v; } @DontCompile public void test9_verifier(boolean warmup) { ! MyValue1 v = test9(true, rI, rL); Asserts.assertEQ(v.x, rI); Asserts.assertEQ(v.y, hash()); ! v = test9(false, rI, rL); Asserts.assertEQ(v.x, rI); Asserts.assertEQ(v.y, hash(rI + 1, rL + 1) + 1); } // Merge value types created in a loop (not inlined)
< prev index next >