@@ -176,7 +176,6 @@ public MyClass(int x) {
176
176
}
177
177
}
178
178
179
- @ ImplicitlyConstructible
180
179
@ LooselyConsistentValue
181
180
static value class IntAndArrayOop {
182
181
int i ;
@@ -186,6 +185,8 @@ public IntAndArrayOop(int i, MyClass[] array) {
186
185
this .i = i ;
187
186
this .array = array ;
188
187
}
188
+
189
+ static final IntAndArrayOop DEFAULT = new IntAndArrayOop (0 , null );
189
190
}
190
191
191
192
public static void testWrite0 (OneByte [] array , int i , OneByte val ) {
@@ -778,8 +779,7 @@ public static void main(String[] args) {
778
779
ByteAndOop [] nullableArray5 = new ByteAndOop [3 ];
779
780
ByteAndOop [] nullableAtomicArray5 = (ByteAndOop [])ValueClass .newNullableAtomicArray (ByteAndOop .class , 3 );
780
781
781
- IntAndArrayOop [] nullFreeArray6 = (IntAndArrayOop [])ValueClass .newNullRestrictedArray (IntAndArrayOop .class , 3 );
782
- IntAndArrayOop [] nullFreeAtomicArray6 = (IntAndArrayOop [])ValueClass .newNullRestrictedAtomicArray (IntAndArrayOop .class , 3 );
782
+ IntAndArrayOop [] nullFreeAtomicArray6 = (IntAndArrayOop [])ValueClass .newNullRestrictedAtomicArray (IntAndArrayOop .class , 3 , IntAndArrayOop .DEFAULT );
783
783
IntAndArrayOop [] nullableArray6 = new IntAndArrayOop [3 ];
784
784
IntAndArrayOop [] nullableAtomicArray6 = (IntAndArrayOop [])ValueClass .newNullableAtomicArray (IntAndArrayOop .class , 3 );
785
785
@@ -963,23 +963,18 @@ public static void main(String[] args) {
963
963
testWrite5 (nullableAtomicArray5 , 1 , val5 );
964
964
965
965
IntAndArrayOop val6 = new IntAndArrayOop (i , new MyClass [1 ]);
966
- nullFreeArray6 [1 ] = val6 ;
967
- nullFreeArray6 [2 ] = nullFreeArray6 [1 ];
968
966
nullFreeAtomicArray6 [1 ] = val6 ;
969
967
nullFreeAtomicArray6 [2 ] = nullFreeAtomicArray6 [1 ];
970
968
nullableArray6 [1 ] = val6 ;
971
969
nullableArray6 [2 ] = nullableArray6 [1 ];
972
970
nullableAtomicArray6 [1 ] = val6 ;
973
971
nullableAtomicArray6 [2 ] = nullableAtomicArray6 [1 ];
974
- Asserts .assertEQ (nullFreeArray6 [0 ], new IntAndArrayOop (0 , null ));
975
972
Asserts .assertEQ (nullFreeAtomicArray6 [0 ], new IntAndArrayOop (0 , null ));
976
973
Asserts .assertEQ (nullableArray6 [0 ], null );
977
974
Asserts .assertEQ (nullableAtomicArray6 [0 ], null );
978
- Asserts .assertEQ (nullFreeArray6 [1 ], val6 );
979
975
Asserts .assertEQ (nullFreeAtomicArray6 [1 ], val6 );
980
976
Asserts .assertEQ (nullableArray6 [1 ], val6 );
981
977
Asserts .assertEQ (nullableAtomicArray6 [1 ], val6 );
982
- Asserts .assertEQ (nullFreeArray6 [2 ], val6 );
983
978
Asserts .assertEQ (nullFreeAtomicArray6 [2 ], val6 );
984
979
Asserts .assertEQ (nullableArray6 [2 ], val6 );
985
980
Asserts .assertEQ (nullableAtomicArray6 [2 ], val6 );
0 commit comments