< prev index next >
test/hotspot/jtreg/compiler/valhalla/valuetypes/TestNullableArrays.java
Print this page
@@ -503,20 +503,32 @@
for (int i = 1; i < len; ++i) {
va1[i] = testValue1;
va2[i] = testValue1;
}
MyValue1?[] result1 = test18(va1);
- MyValue1?[] result2 = test18(va2);
if (len > 0) {
Asserts.assertEQ(result1[0], null);
- Asserts.assertEQ(result2[0].hash(), va2[0].hash());
}
for (int i = 1; i < len; ++i) {
Asserts.assertEQ(result1[i].hash(), va1[i].hash());
+ }
+ // make sure we do deopt: GraphKit::new_array assumes an
+ // array of references
+ for (int j = 0; j < 10; j++) {
+ MyValue1?[] result2 = test18(va2);
+
+ for (int i = 0; i < len; ++i) {
Asserts.assertEQ(result2[i].hash(), va2[i].hash());
}
}
+ if (compile_and_run_again_if_deoptimized(warmup, "TestNullableArrays::test18")) {
+ MyValue1?[] result2 = test18(va2);
+ for (int i = 0; i < len; ++i) {
+ Asserts.assertEQ(result2[i].hash(), va2[i].hash());
+ }
+ }
+ }
// clone() as series of loads/stores
static MyValue1?[] test19_orig = null;
@Test
< prev index next >