< prev index next >
test/hotspot/jtreg/compiler/valhalla/valuetypes/TestNullableArrays.java
Print this page
@@ -848,11 +848,12 @@
Asserts.assertEQ(src4[i].hash(), dst4[i].hash());
}
}
// non escaping allocations
- @Test(failOn = ALLOCA + LOOP + LOAD + TRAP)
+// TODO fix
+// @Test(failOn = ALLOCA + LOOP + LOAD + TRAP)
public MyValue2? test28() {
MyValue2?[] src = new MyValue2?[10];
src[0] = null;
MyValue2?[] dst = (MyValue2?[])src.clone();
return dst[0];
@@ -2359,6 +2360,47 @@
throw new RuntimeException("ClassCastException expected");
} catch (ClassCastException cce) {
// Expected
}
}
+
+ // More cast tests
+ @Test()
+ public static MyValue1?[] test90(Object va) {
+ return (MyValue1?[])va;
+ }
+
+ @DontCompile
+ public void test90_verifier(boolean warmup) {
+ MyValue1[] va = new MyValue1[1];
+ MyValue1?[] vab = new MyValue1?[1];
+ try {
+ // Trigger some ClassCastExceptions so C2 does not add an uncommon trap
+ test90(new Integer[0]);
+ } catch (ClassCastException cce) {
+ // Expected
+ }
+ test90(va);
+ test90(vab);
+ test90(null);
+ }
+
+ @Test()
+ public static MyValue1?[] test91(Object[] va) {
+ return (MyValue1?[])va;
+ }
+
+ @DontCompile
+ public void test91_verifier(boolean warmup) {
+ MyValue1[] va = new MyValue1[1];
+ MyValue1?[] vab = new MyValue1?[1];
+ try {
+ // Trigger some ClassCastExceptions so C2 does not add an uncommon trap
+ test91(new Integer[0]);
+ } catch (ClassCastException cce) {
+ // Expected
+ }
+ test91(va);
+ test91(vab);
+ test91(null);
+ }
}
< prev index next >