< prev index next >

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

Print this page

        

*** 104,109 **** --- 104,132 ---- long r1 = test1(v1, v1, 1); long r2 = test1(v1, v2, 1); Asserts.assertEQ(r1, 0x5678123456781234L); Asserts.assertEQ(r2, 0x1234567812345678L); } + + static inline class SimpleValue2 { + final int value; + SimpleValue2(int value) { + this.value = value; + } + } + + // JDK-8231961 + // Test that the value numbering optimization does not remove + // the second load from the buffered array element. + @Test(compLevel=C1) + public int test2(SimpleValue2[] array) { + return array[0].value + array[0].value; + } + + @DontCompile + public void test2_verifier(boolean warmup) { + SimpleValue2[] array = new SimpleValue2[1]; + array[0] = new SimpleValue2(rI); + int result = test2(array); + Asserts.assertEQ(result, 2*rI); + } }
< prev index next >