-
Enhancement
-
Resolution: Unresolved
-
P4
-
repo-valhalla
Integer test90_value = new Integer(rI);
@ForceInline
public Object test90_value() {
return test90_value;
}
// Same as test81 but with type only known after inlining
@Test(failOn = ALLOC_G + ALLOCA_G + LOAD_UNKNOWN_VALUE + STORE_UNKNOWN_VALUE + VALUE_ARRAY_NULL_GUARD)
public Object test90(Object[] array, Object o, int i) {
Object v = test90_value();
if (v == null) {
return null;
}
array[0] = v;
array[1] = array[0];
array[2] = o;
return array[i];
}
@DontCompile
public void test90_verifier(boolean warmup) {
Integer i = new Integer(rI);
Integer[] array1 = new Integer[3];
Object[] array2 = new Object[3];
Object result = test90(array1, i, 0);
Asserts.assertEquals(array1[0], i);
Asserts.assertEquals(array1[1], i);
Asserts.assertEquals(array1[2], i);
Asserts.assertEquals(result, i);
result = test90(array2, i, 1);
Asserts.assertEquals(array2[0], i);
Asserts.assertEquals(array2[1], i);
Asserts.assertEquals(array2[2], i);
Asserts.assertEquals(result, i);
}
- relates to
-
JDK-8250780 [lworld] PhaseIdealLoop::flatten_array_element_type_check() should support SubTypeCheck nodes
-
- Open
-
-
JDK-8227634 [lworld] Better optimize object array accesses
-
- Resolved
-