< 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 >