< prev index next >
test/hotspot/jtreg/compiler/valhalla/valuetypes/TestIntrinsics.java
Print this page
rev 55127 : 8223351: [lworld] Primary mirror and nullable mirror for inline type
Reviewed-by: tbd
*** 65,98 ****
return supercls.isAssignableFrom(subcls);
}
public void test1_verifier(boolean warmup) {
Asserts.assertTrue(test1(java.util.AbstractList.class, java.util.ArrayList.class), "test1_1 failed");
! Asserts.assertTrue(test1(MyValue1.class.asBoxType(), MyValue1.class.asBoxType()), "test1_2 failed");
! Asserts.assertTrue(test1(MyValue1.class.asValueType(), MyValue1.class.asValueType()), "test1_3 failed");
! Asserts.assertTrue(test1(MyValue1.class.asBoxType(), MyValue1.class.asValueType()), "test1_4 failed");
! Asserts.assertTrue(test1(MyValue1.class.asValueType(), MyValue1.class.asBoxType()), "test1_5 failed");
Asserts.assertTrue(test1(Object.class, java.util.ArrayList.class), "test1_6 failed");
! Asserts.assertTrue(test1(Object.class, MyValue1.class.asBoxType()), "test1_7 failed");
! Asserts.assertTrue(test1(Object.class, MyValue1.class.asValueType()), "test1_8 failed");
! Asserts.assertTrue(!test1(MyValue1.class.asBoxType(), Object.class), "test1_9 failed");
! Asserts.assertTrue(!test1(MyValue1.class.asValueType(), Object.class), "test1_10 failed");
}
// Verify that Class::isAssignableFrom checks with statically known classes are folded
@Test(failOn = LOADK)
public boolean test2() {
boolean check1 = java.util.AbstractList.class.isAssignableFrom(java.util.ArrayList.class);
! boolean check2 = MyValue1.class.asBoxType().isAssignableFrom(MyValue1.class.asBoxType());
! boolean check3 = MyValue1.class.asValueType().isAssignableFrom(MyValue1.class.asValueType());
! boolean check4 = MyValue1.class.asBoxType().isAssignableFrom(MyValue1.class.asValueType());
! boolean check5 = MyValue1.class.asValueType().isAssignableFrom(MyValue1.class.asBoxType());
boolean check6 = Object.class.isAssignableFrom(java.util.ArrayList.class);
! boolean check7 = Object.class.isAssignableFrom(MyValue1.class.asBoxType());
! boolean check8 = Object.class.isAssignableFrom(MyValue1.class.asValueType());
! boolean check9 = !MyValue1.class.asBoxType().isAssignableFrom(Object.class);
! boolean check10 = !MyValue1.class.asValueType().isAssignableFrom(Object.class);
return check1 && check2 && check3 && check4 && check5 && check6 && check7 && check8 && check9 && check10;
}
public void test2_verifier(boolean warmup) {
Asserts.assertTrue(test2(), "test2 failed");
--- 65,98 ----
return supercls.isAssignableFrom(subcls);
}
public void test1_verifier(boolean warmup) {
Asserts.assertTrue(test1(java.util.AbstractList.class, java.util.ArrayList.class), "test1_1 failed");
! Asserts.assertTrue(test1(MyValue1.class.asNullableType(), MyValue1.class.asNullableType()), "test1_2 failed");
! Asserts.assertTrue(test1(MyValue1.class.asPrimaryType(), MyValue1.class.asPrimaryType()), "test1_3 failed");
! Asserts.assertTrue(test1(MyValue1.class.asNullableType(), MyValue1.class.asPrimaryType()), "test1_4 failed");
! Asserts.assertTrue(test1(MyValue1.class.asPrimaryType(), MyValue1.class.asNullableType()), "test1_5 failed");
Asserts.assertTrue(test1(Object.class, java.util.ArrayList.class), "test1_6 failed");
! Asserts.assertTrue(test1(Object.class, MyValue1.class.asNullableType()), "test1_7 failed");
! Asserts.assertTrue(test1(Object.class, MyValue1.class.asPrimaryType()), "test1_8 failed");
! Asserts.assertTrue(!test1(MyValue1.class.asNullableType(), Object.class), "test1_9 failed");
! Asserts.assertTrue(!test1(MyValue1.class.asPrimaryType(), Object.class), "test1_10 failed");
}
// Verify that Class::isAssignableFrom checks with statically known classes are folded
@Test(failOn = LOADK)
public boolean test2() {
boolean check1 = java.util.AbstractList.class.isAssignableFrom(java.util.ArrayList.class);
! boolean check2 = MyValue1.class.asNullableType().isAssignableFrom(MyValue1.class.asNullableType());
! boolean check3 = MyValue1.class.asPrimaryType().isAssignableFrom(MyValue1.class.asPrimaryType());
! boolean check4 = MyValue1.class.asNullableType().isAssignableFrom(MyValue1.class.asPrimaryType());
! boolean check5 = MyValue1.class.asPrimaryType().isAssignableFrom(MyValue1.class.asNullableType());
boolean check6 = Object.class.isAssignableFrom(java.util.ArrayList.class);
! boolean check7 = Object.class.isAssignableFrom(MyValue1.class.asNullableType());
! boolean check8 = Object.class.isAssignableFrom(MyValue1.class.asPrimaryType());
! boolean check9 = !MyValue1.class.asNullableType().isAssignableFrom(Object.class);
! boolean check10 = !MyValue1.class.asPrimaryType().isAssignableFrom(Object.class);
return check1 && check2 && check3 && check4 && check5 && check6 && check7 && check8 && check9 && check10;
}
public void test2_verifier(boolean warmup) {
Asserts.assertTrue(test2(), "test2 failed");
*** 104,124 ****
return cls.getSuperclass();
}
public void test3_verifier(boolean warmup) {
Asserts.assertTrue(test3(Object.class) == null, "test3_1 failed");
! Asserts.assertTrue(test3(MyValue1.class.asBoxType()) == Object.class, "test3_2 failed");
! Asserts.assertTrue(test3(MyValue1.class.asValueType()) == Object.class, "test3_3 failed");
Asserts.assertTrue(test3(Class.class) == Object.class, "test3_4 failed");
}
// Verify that Class::getSuperclass checks with statically known classes are folded
@Test(failOn = LOADK)
public boolean test4() {
boolean check1 = Object.class.getSuperclass() == null;
! boolean check2 = MyValue1.class.asBoxType().getSuperclass() == Object.class;
! boolean check3 = MyValue1.class.asValueType().getSuperclass() == Object.class;
boolean check4 = Class.class.getSuperclass() == Object.class;
return check1 && check2 && check3 && check4;
}
public void test4_verifier(boolean warmup) {
--- 104,124 ----
return cls.getSuperclass();
}
public void test3_verifier(boolean warmup) {
Asserts.assertTrue(test3(Object.class) == null, "test3_1 failed");
! Asserts.assertTrue(test3(MyValue1.class.asNullableType()) == Object.class, "test3_2 failed");
! Asserts.assertTrue(test3(MyValue1.class.asPrimaryType()) == Object.class, "test3_3 failed");
Asserts.assertTrue(test3(Class.class) == Object.class, "test3_4 failed");
}
// Verify that Class::getSuperclass checks with statically known classes are folded
@Test(failOn = LOADK)
public boolean test4() {
boolean check1 = Object.class.getSuperclass() == null;
! boolean check2 = MyValue1.class.asNullableType().getSuperclass() == Object.class;
! boolean check3 = MyValue1.class.asPrimaryType().getSuperclass() == Object.class;
boolean check4 = Class.class.getSuperclass() == Object.class;
return check1 && check2 && check3 && check4;
}
public void test4_verifier(boolean warmup) {
*** 159,169 ****
@DontCompile
public void test7_verifier(boolean warmup) {
int len = Math.abs(rI) % 42;
long hash = MyValue1.createDefaultDontInline().hashPrimitive();
! Object[] va = test7(MyValue1.class.asValueType(), len);
for (int i = 0; i < len; ++i) {
Asserts.assertEQ(((MyValue1)va[i]).hashPrimitive(), hash);
}
}
--- 159,169 ----
@DontCompile
public void test7_verifier(boolean warmup) {
int len = Math.abs(rI) % 42;
long hash = MyValue1.createDefaultDontInline().hashPrimitive();
! Object[] va = test7(MyValue1.class.asPrimaryType(), len);
for (int i = 0; i < len; ++i) {
Asserts.assertEQ(((MyValue1)va[i]).hashPrimitive(), hash);
}
}
*** 174,186 ****
}
@DontCompile
public void test8_verifier(boolean warmup) {
MyValue1 vt = MyValue1.createWithFieldsInline(rI, rL);
! boolean result = test8(MyValue1.class.asValueType(), vt);
Asserts.assertTrue(result);
! result = test8(MyValue1.class.asBoxType(), vt);
Asserts.assertTrue(result);
}
@Test()
public boolean test9(Class c, MyValue1 vt) {
--- 174,186 ----
}
@DontCompile
public void test8_verifier(boolean warmup) {
MyValue1 vt = MyValue1.createWithFieldsInline(rI, rL);
! boolean result = test8(MyValue1.class.asPrimaryType(), vt);
Asserts.assertTrue(result);
! result = test8(MyValue1.class.asNullableType(), vt);
Asserts.assertTrue(result);
}
@Test()
public boolean test9(Class c, MyValue1 vt) {
*** 188,200 ****
}
@DontCompile
public void test9_verifier(boolean warmup) {
MyValue1 vt = MyValue1.createWithFieldsInline(rI, rL);
! boolean result = test9(MyValue2.class.asValueType(), vt);
Asserts.assertFalse(result);
! result = test9(MyValue2.class.asBoxType(), vt);
Asserts.assertFalse(result);
}
// Class.cast
@Test()
--- 188,200 ----
}
@DontCompile
public void test9_verifier(boolean warmup) {
MyValue1 vt = MyValue1.createWithFieldsInline(rI, rL);
! boolean result = test9(MyValue2.class.asPrimaryType(), vt);
Asserts.assertFalse(result);
! result = test9(MyValue2.class.asNullableType(), vt);
Asserts.assertFalse(result);
}
// Class.cast
@Test()
*** 203,213 ****
}
@DontCompile
public void test10_verifier(boolean warmup) {
MyValue1 vt = MyValue1.createWithFieldsInline(rI, rL);
! Object result = test10(MyValue1.class.asValueType(), vt);
Asserts.assertEQ(((MyValue1)result).hash(), vt.hash());
}
@Test()
public Object test11(Class c, MyValue1 vt) {
--- 203,213 ----
}
@DontCompile
public void test10_verifier(boolean warmup) {
MyValue1 vt = MyValue1.createWithFieldsInline(rI, rL);
! Object result = test10(MyValue1.class.asPrimaryType(), vt);
Asserts.assertEQ(((MyValue1)result).hash(), vt.hash());
}
@Test()
public Object test11(Class c, MyValue1 vt) {
*** 216,234 ****
@DontCompile
public void test11_verifier(boolean warmup) {
MyValue1 vt = MyValue1.createWithFieldsInline(rI, rL);
try {
! test11(MyValue2.class.asValueType(), vt);
throw new RuntimeException("should have thrown");
} catch (ClassCastException cce) {
}
}
@Test()
public Object test12(MyValue1 vt) {
! return MyValue1.class.asValueType().cast(vt);
}
@DontCompile
public void test12_verifier(boolean warmup) {
MyValue1 vt = MyValue1.createWithFieldsInline(rI, rL);
--- 216,234 ----
@DontCompile
public void test11_verifier(boolean warmup) {
MyValue1 vt = MyValue1.createWithFieldsInline(rI, rL);
try {
! test11(MyValue2.class.asPrimaryType(), vt);
throw new RuntimeException("should have thrown");
} catch (ClassCastException cce) {
}
}
@Test()
public Object test12(MyValue1 vt) {
! return MyValue1.class.asPrimaryType().cast(vt);
}
@DontCompile
public void test12_verifier(boolean warmup) {
MyValue1 vt = MyValue1.createWithFieldsInline(rI, rL);
*** 236,246 ****
Asserts.assertEQ(((MyValue1)result).hash(), vt.hash());
}
@Test()
public Object test13(MyValue1 vt) {
! return MyValue2.class.asValueType().cast(vt);
}
@DontCompile
public void test13_verifier(boolean warmup) {
MyValue1 vt = MyValue1.createWithFieldsInline(rI, rL);
--- 236,246 ----
Asserts.assertEQ(((MyValue1)result).hash(), vt.hash());
}
@Test()
public Object test13(MyValue1 vt) {
! return MyValue2.class.asPrimaryType().cast(vt);
}
@DontCompile
public void test13_verifier(boolean warmup) {
MyValue1 vt = MyValue1.createWithFieldsInline(rI, rL);
*** 252,262 ****
}
// value type array creation via reflection
@Test()
public void test14(int len, long hash) {
! Object[] va = (Object[])Array.newInstance(MyValue1.class.asValueType().asBoxType().asValueType(), len);
for (int i = 0; i < len; ++i) {
Asserts.assertEQ(((MyValue1)va[i]).hashPrimitive(), hash);
}
}
--- 252,262 ----
}
// value type array creation via reflection
@Test()
public void test14(int len, long hash) {
! Object[] va = (Object[])Array.newInstance(MyValue1.class.asPrimaryType().asNullableType().asPrimaryType(), len);
for (int i = 0; i < len; ++i) {
Asserts.assertEQ(((MyValue1)va[i]).hashPrimitive(), hash);
}
}
*** 352,366 ****
private static final long Y_OFFSET;
private static final long V1_OFFSET;
private static final boolean V1_FLATTENED;
static {
try {
! Field xField = MyValue1.class.asValueType().getDeclaredField("x");
X_OFFSET = U.objectFieldOffset(xField);
! Field yField = MyValue1.class.asValueType().getDeclaredField("y");
Y_OFFSET = U.objectFieldOffset(yField);
! Field v1Field = MyValue1.class.asValueType().getDeclaredField("v1");
V1_OFFSET = U.objectFieldOffset(v1Field);
V1_FLATTENED = U.isFlattened(v1Field);
} catch (Exception e) {
throw new RuntimeException(e);
}
--- 352,366 ----
private static final long Y_OFFSET;
private static final long V1_OFFSET;
private static final boolean V1_FLATTENED;
static {
try {
! Field xField = MyValue1.class.asPrimaryType().getDeclaredField("x");
X_OFFSET = U.objectFieldOffset(xField);
! Field yField = MyValue1.class.asPrimaryType().getDeclaredField("y");
Y_OFFSET = U.objectFieldOffset(yField);
! Field v1Field = MyValue1.class.asPrimaryType().getDeclaredField("v1");
V1_OFFSET = U.objectFieldOffset(v1Field);
V1_FLATTENED = U.isFlattened(v1Field);
} catch (Exception e) {
throw new RuntimeException(e);
}
*** 447,457 ****
@Test
public Object test26() {
Class<?>[] ca = new Class<?>[1];
for (int i = 0; i < 1; ++i) {
// Folds during loop opts
! ca[i] = MyValue1.class.asValueType();
}
return Array.newInstance(ca[0], 1);
}
@DontCompile
--- 447,457 ----
@Test
public Object test26() {
Class<?>[] ca = new Class<?>[1];
for (int i = 0; i < 1; ++i) {
// Folds during loop opts
! ca[i] = MyValue1.class.asPrimaryType();
}
return Array.newInstance(ca[0], 1);
}
@DontCompile
*** 532,542 ****
// getValue to retrieve flattened field from value
@Test(failOn=CALL_Unsafe)
public MyValue2 test30(MyValue1 v) {
if (V1_FLATTENED) {
! return U.getValue(v, V1_OFFSET, MyValue2.class.asValueType().asBoxType().asValueType());
}
return (MyValue2)U.getReference(v, V1_OFFSET);
}
@DontCompile
--- 532,542 ----
// getValue to retrieve flattened field from value
@Test(failOn=CALL_Unsafe)
public MyValue2 test30(MyValue1 v) {
if (V1_FLATTENED) {
! return U.getValue(v, V1_OFFSET, MyValue2.class.asPrimaryType().asNullableType().asPrimaryType());
}
return (MyValue2)U.getReference(v, V1_OFFSET);
}
@DontCompile
*** 561,571 ****
// getValue to retrieve flattened field from object
@Test(failOn=CALL_Unsafe)
public MyValue1 test31() {
if (TEST31_VT_FLATTENED) {
! return U.getValue(this, TEST31_VT_OFFSET, MyValue1.class.asValueType().asBoxType().asValueType());
}
return (MyValue1)U.getReference(this, TEST31_VT_OFFSET);
}
@DontCompile
--- 561,571 ----
// getValue to retrieve flattened field from object
@Test(failOn=CALL_Unsafe)
public MyValue1 test31() {
if (TEST31_VT_FLATTENED) {
! return U.getValue(this, TEST31_VT_OFFSET, MyValue1.class.asPrimaryType().asNullableType().asPrimaryType());
}
return (MyValue1)U.getReference(this, TEST31_VT_OFFSET);
}
@DontCompile
*** 577,587 ****
// putValue to set flattened field in object
@Test(failOn=CALL_Unsafe)
public void test32(MyValue1 vt) {
if (TEST31_VT_FLATTENED) {
! U.putValue(this, TEST31_VT_OFFSET, MyValue1.class.asValueType().asBoxType().asValueType(), vt);
} else {
U.putReference(this, TEST31_VT_OFFSET, vt);
}
}
--- 577,587 ----
// putValue to set flattened field in object
@Test(failOn=CALL_Unsafe)
public void test32(MyValue1 vt) {
if (TEST31_VT_FLATTENED) {
! U.putValue(this, TEST31_VT_OFFSET, MyValue1.class.asPrimaryType().asNullableType().asPrimaryType(), vt);
} else {
U.putReference(this, TEST31_VT_OFFSET, vt);
}
}
*** 607,617 ****
}
// getValue to retrieve flattened field from array
@Test(failOn=CALL_Unsafe)
public MyValue1 test33(MyValue1[] arr) {
if (TEST33_FLATTENED_ARRAY) {
! return U.getValue(arr, TEST33_BASE_OFFSET + TEST33_INDEX_SCALE, MyValue1.class.asValueType().asBoxType().asValueType());
}
return (MyValue1)U.getReference(arr, TEST33_BASE_OFFSET + TEST33_INDEX_SCALE);
}
@DontCompile
--- 607,617 ----
}
// getValue to retrieve flattened field from array
@Test(failOn=CALL_Unsafe)
public MyValue1 test33(MyValue1[] arr) {
if (TEST33_FLATTENED_ARRAY) {
! return U.getValue(arr, TEST33_BASE_OFFSET + TEST33_INDEX_SCALE, MyValue1.class.asPrimaryType().asNullableType().asPrimaryType());
}
return (MyValue1)U.getReference(arr, TEST33_BASE_OFFSET + TEST33_INDEX_SCALE);
}
@DontCompile
*** 625,635 ****
// putValue to set flattened field in array
@Test(failOn=CALL_Unsafe)
public void test34(MyValue1[] arr, MyValue1 vt) {
if (TEST33_FLATTENED_ARRAY) {
! U.putValue(arr, TEST33_BASE_OFFSET + TEST33_INDEX_SCALE, MyValue1.class.asValueType().asBoxType().asValueType(), vt);
} else {
U.putReference(arr, TEST33_BASE_OFFSET + TEST33_INDEX_SCALE, vt);
}
}
--- 625,635 ----
// putValue to set flattened field in array
@Test(failOn=CALL_Unsafe)
public void test34(MyValue1[] arr, MyValue1 vt) {
if (TEST33_FLATTENED_ARRAY) {
! U.putValue(arr, TEST33_BASE_OFFSET + TEST33_INDEX_SCALE, MyValue1.class.asPrimaryType().asNullableType().asPrimaryType(), vt);
} else {
U.putReference(arr, TEST33_BASE_OFFSET + TEST33_INDEX_SCALE, vt);
}
}
*** 644,654 ****
// getValue to retrieve flattened field from object with unknown
// container type
@Test(failOn=CALL_Unsafe)
public MyValue1 test35(Object o) {
if (TEST31_VT_FLATTENED) {
! return U.getValue(o, TEST31_VT_OFFSET, MyValue1.class.asValueType().asBoxType().asValueType());
}
return (MyValue1)U.getReference(o, TEST31_VT_OFFSET);
}
@DontCompile
--- 644,654 ----
// getValue to retrieve flattened field from object with unknown
// container type
@Test(failOn=CALL_Unsafe)
public MyValue1 test35(Object o) {
if (TEST31_VT_FLATTENED) {
! return U.getValue(o, TEST31_VT_OFFSET, MyValue1.class.asPrimaryType().asNullableType().asPrimaryType());
}
return (MyValue1)U.getReference(o, TEST31_VT_OFFSET);
}
@DontCompile
*** 661,671 ****
// getValue to retrieve flattened field from object at unknown
// offset
@Test(failOn=CALL_Unsafe)
public MyValue1 test36(long offset) {
if (TEST31_VT_FLATTENED) {
! return U.getValue(this, offset, MyValue1.class.asValueType().asBoxType().asValueType());
}
return (MyValue1)U.getReference(this, offset);
}
@DontCompile
--- 661,671 ----
// getValue to retrieve flattened field from object at unknown
// offset
@Test(failOn=CALL_Unsafe)
public MyValue1 test36(long offset) {
if (TEST31_VT_FLATTENED) {
! return U.getValue(this, offset, MyValue1.class.asPrimaryType().asNullableType().asPrimaryType());
}
return (MyValue1)U.getReference(this, offset);
}
@DontCompile
*** 678,688 ****
// putValue to set flattened field in object with unknown
// container
@Test(failOn=CALL_Unsafe)
public void test37(Object o, MyValue1 vt) {
if (TEST31_VT_FLATTENED) {
! U.putValue(o, TEST31_VT_OFFSET, MyValue1.class.asValueType().asBoxType().asValueType(), vt);
} else {
U.putReference(o, TEST31_VT_OFFSET, vt);
}
}
--- 678,688 ----
// putValue to set flattened field in object with unknown
// container
@Test(failOn=CALL_Unsafe)
public void test37(Object o, MyValue1 vt) {
if (TEST31_VT_FLATTENED) {
! U.putValue(o, TEST31_VT_OFFSET, MyValue1.class.asPrimaryType().asNullableType().asPrimaryType(), vt);
} else {
U.putReference(o, TEST31_VT_OFFSET, vt);
}
}
*** 697,707 ****
// putValue to set flattened field in object, non value argument
// to store
@Test(match = { CALL_Unsafe }, matchCount = { 1 })
public void test38(Object o) {
if (TEST31_VT_FLATTENED) {
! U.putValue(this, TEST31_VT_OFFSET, MyValue1.class.asValueType().asBoxType().asValueType(), o);
} else {
U.putReference(this, TEST31_VT_OFFSET, o);
}
}
--- 697,707 ----
// putValue to set flattened field in object, non value argument
// to store
@Test(match = { CALL_Unsafe }, matchCount = { 1 })
public void test38(Object o) {
if (TEST31_VT_FLATTENED) {
! U.putValue(this, TEST31_VT_OFFSET, MyValue1.class.asPrimaryType().asNullableType().asPrimaryType(), o);
} else {
U.putReference(this, TEST31_VT_OFFSET, o);
}
}
*** 736,746 ****
}
@DontCompile
public void test40_verifier(boolean warmup) {
int len = Math.abs(rI) % 42;
! Object[] va = test40(MyValue1.class.asBoxType(), len);
for (int i = 0; i < len; ++i) {
Asserts.assertEQ(va[i], null);
}
}
--- 736,746 ----
}
@DontCompile
public void test40_verifier(boolean warmup) {
int len = Math.abs(rI) % 42;
! Object[] va = test40(MyValue1.class.asNullableType(), len);
for (int i = 0; i < len; ++i) {
Asserts.assertEQ(va[i], null);
}
}
*** 751,763 ****
}
@DontCompile
public void test41_verifier(boolean warmup) {
MyValue1? vt = MyValue1.createWithFieldsInline(rI, rL);
! boolean result = test41(MyValue1.class.asBoxType(), vt);
Asserts.assertTrue(result);
! result = test41(MyValue1.class.asValueType(), vt);
Asserts.assertTrue(result);
}
@Test()
public boolean test42(Class c, MyValue1? vt) {
--- 751,763 ----
}
@DontCompile
public void test41_verifier(boolean warmup) {
MyValue1? vt = MyValue1.createWithFieldsInline(rI, rL);
! boolean result = test41(MyValue1.class.asNullableType(), vt);
Asserts.assertTrue(result);
! result = test41(MyValue1.class.asPrimaryType(), vt);
Asserts.assertTrue(result);
}
@Test()
public boolean test42(Class c, MyValue1? vt) {
*** 765,777 ****
}
@DontCompile
public void test42_verifier(boolean warmup) {
MyValue1? vt = MyValue1.createWithFieldsInline(rI, rL);
! boolean result = test42(MyValue2.class.asBoxType(), vt);
Asserts.assertFalse(result);
! result = test42(MyValue2.class.asValueType(), vt);
Asserts.assertFalse(result);
}
// Class.cast
@Test()
--- 765,777 ----
}
@DontCompile
public void test42_verifier(boolean warmup) {
MyValue1? vt = MyValue1.createWithFieldsInline(rI, rL);
! boolean result = test42(MyValue2.class.asNullableType(), vt);
Asserts.assertFalse(result);
! result = test42(MyValue2.class.asPrimaryType(), vt);
Asserts.assertFalse(result);
}
// Class.cast
@Test()
*** 780,792 ****
}
@DontCompile
public void test43_verifier(boolean warmup) {
MyValue1? vt = MyValue1.createWithFieldsInline(rI, rL);
! Object result = test43(MyValue1.class.asBoxType(), vt);
Asserts.assertEQ(((MyValue1)result).hash(), vt.hash());
! result = test43(MyValue1.class.asBoxType(), null);
Asserts.assertEQ(result, null);
}
@Test()
public Object test44(Class c, MyValue1? vt) {
--- 780,792 ----
}
@DontCompile
public void test43_verifier(boolean warmup) {
MyValue1? vt = MyValue1.createWithFieldsInline(rI, rL);
! Object result = test43(MyValue1.class.asNullableType(), vt);
Asserts.assertEQ(((MyValue1)result).hash(), vt.hash());
! result = test43(MyValue1.class.asNullableType(), null);
Asserts.assertEQ(result, null);
}
@Test()
public Object test44(Class c, MyValue1? vt) {
*** 795,813 ****
@DontCompile
public void test44_verifier(boolean warmup) {
MyValue1? vt = MyValue1.createWithFieldsInline(rI, rL);
try {
! test44(MyValue2.class.asBoxType(), vt);
throw new RuntimeException("should have thrown");
} catch (ClassCastException cce) {
}
}
@Test()
public Object test45(MyValue1? vt) {
! return MyValue1.class.asBoxType().cast(vt);
}
@DontCompile
public void test45_verifier(boolean warmup) {
MyValue1? vt = MyValue1.createWithFieldsInline(rI, rL);
--- 795,813 ----
@DontCompile
public void test44_verifier(boolean warmup) {
MyValue1? vt = MyValue1.createWithFieldsInline(rI, rL);
try {
! test44(MyValue2.class.asNullableType(), vt);
throw new RuntimeException("should have thrown");
} catch (ClassCastException cce) {
}
}
@Test()
public Object test45(MyValue1? vt) {
! return MyValue1.class.asNullableType().cast(vt);
}
@DontCompile
public void test45_verifier(boolean warmup) {
MyValue1? vt = MyValue1.createWithFieldsInline(rI, rL);
*** 817,827 ****
Asserts.assertEQ(result, null);
}
@Test()
public Object test46(MyValue1? vt) {
! return MyValue2.class.asBoxType().cast(vt);
}
@DontCompile
public void test46_verifier(boolean warmup) {
MyValue1? vt = MyValue1.createWithFieldsInline(rI, rL);
--- 817,827 ----
Asserts.assertEQ(result, null);
}
@Test()
public Object test46(MyValue1? vt) {
! return MyValue2.class.asNullableType().cast(vt);
}
@DontCompile
public void test46_verifier(boolean warmup) {
MyValue1? vt = MyValue1.createWithFieldsInline(rI, rL);
*** 833,843 ****
}
}
@Test()
public Object test47(MyValue1? vt) {
! return MyValue1.class.asValueType().cast(vt);
}
@DontCompile
public void test47_verifier(boolean warmup) {
MyValue1? vt = MyValue1.createWithFieldsInline(rI, rL);
--- 833,843 ----
}
}
@Test()
public Object test47(MyValue1? vt) {
! return MyValue1.class.asPrimaryType().cast(vt);
}
@DontCompile
public void test47_verifier(boolean warmup) {
MyValue1? vt = MyValue1.createWithFieldsInline(rI, rL);
*** 856,877 ****
}
@DontCompile
public void test48_verifier(boolean warmup) {
MyValue1? vt = MyValue1.createWithFieldsInline(rI, rL);
! Object result = test48(MyValue1.class.asValueType(), vt);
Asserts.assertEQ(((MyValue1)result).hash(), vt.hash());
try {
! test48(MyValue1.class.asValueType(), null);
throw new RuntimeException("should have thrown");
} catch (NullPointerException npe) {
}
}
@Test()
public Object test49(MyValue1 vt) {
! return MyValue1.class.asBoxType().cast(vt);
}
@DontCompile
public void test49_verifier(boolean warmup) {
MyValue1 vt = MyValue1.createWithFieldsInline(rI, rL);
--- 856,877 ----
}
@DontCompile
public void test48_verifier(boolean warmup) {
MyValue1? vt = MyValue1.createWithFieldsInline(rI, rL);
! Object result = test48(MyValue1.class.asPrimaryType(), vt);
Asserts.assertEQ(((MyValue1)result).hash(), vt.hash());
try {
! test48(MyValue1.class.asPrimaryType(), null);
throw new RuntimeException("should have thrown");
} catch (NullPointerException npe) {
}
}
@Test()
public Object test49(MyValue1 vt) {
! return MyValue1.class.asNullableType().cast(vt);
}
@DontCompile
public void test49_verifier(boolean warmup) {
MyValue1 vt = MyValue1.createWithFieldsInline(rI, rL);
*** 887,908 ****
@DontCompile
public void test50_verifier(boolean warmup) {
MyValue1 vt = MyValue1.createWithFieldsInline(rI, rL);
MyValue1[] va = new MyValue1[42];
MyValue1?[] vba = new MyValue1?[42];
! Object result = test50(MyValue1.class.asValueType(), vt);
Asserts.assertEQ(((MyValue1)result).hash(), vt.hash());
! result = test50(MyValue1.class.asBoxType(), vt);
Asserts.assertEQ(((MyValue1)result).hash(), vt.hash());
result = test50(MyValue1[].class, va);
Asserts.assertEQ(result, va);
result = test50(MyValue1?[].class, vba);
Asserts.assertEQ(result, vba);
result = test50(MyValue1?[].class, va);
Asserts.assertEQ(result, va);
try {
! test50(MyValue1.class.asValueType(), null);
throw new RuntimeException("should have thrown");
} catch (NullPointerException npe) {
}
try {
test50(MyValue1[].class, vba);
--- 887,908 ----
@DontCompile
public void test50_verifier(boolean warmup) {
MyValue1 vt = MyValue1.createWithFieldsInline(rI, rL);
MyValue1[] va = new MyValue1[42];
MyValue1?[] vba = new MyValue1?[42];
! Object result = test50(MyValue1.class.asPrimaryType(), vt);
Asserts.assertEQ(((MyValue1)result).hash(), vt.hash());
! result = test50(MyValue1.class.asNullableType(), vt);
Asserts.assertEQ(((MyValue1)result).hash(), vt.hash());
result = test50(MyValue1[].class, va);
Asserts.assertEQ(result, va);
result = test50(MyValue1?[].class, vba);
Asserts.assertEQ(result, vba);
result = test50(MyValue1?[].class, va);
Asserts.assertEQ(result, va);
try {
! test50(MyValue1.class.asPrimaryType(), null);
throw new RuntimeException("should have thrown");
} catch (NullPointerException npe) {
}
try {
test50(MyValue1[].class, vba);
*** 912,922 ****
}
// value type array creation via reflection
@Test()
public void test51(int len) {
! Object[] va = (Object[])Array.newInstance(MyValue1.class.asBoxType().asValueType().asBoxType(), len);
for (int i = 0; i < len; ++i) {
Asserts.assertEQ(va[i], null);
}
}
--- 912,922 ----
}
// value type array creation via reflection
@Test()
public void test51(int len) {
! Object[] va = (Object[])Array.newInstance(MyValue1.class.asNullableType().asPrimaryType().asNullableType(), len);
for (int i = 0; i < len; ++i) {
Asserts.assertEQ(va[i], null);
}
}
< prev index next >