@@ -64,6 +64,7 @@ public class TestIntrinsics {
64
64
private static final WhiteBox WHITEBOX = WhiteBox .getWhiteBox ();
65
65
private static final boolean UseArrayFlattening = WHITEBOX .getBooleanVMFlag ("UseArrayFlattening" );
66
66
private static final boolean UseFieldFlattening = WHITEBOX .getBooleanVMFlag ("UseFieldFlattening" );
67
+ private static final boolean PreloadClasses = WHITEBOX .getBooleanVMFlag ("PreloadClasses" );
67
68
68
69
public static void main (String [] args ) {
69
70
@@ -1217,10 +1218,10 @@ static SmallValue createWithFieldsInline(int x, long y) {
1217
1218
@ Test
1218
1219
public boolean test63 (SmallValue oldVal , SmallValue newVal ) {
1219
1220
if (TEST63_VT_FLATTENED ) {
1220
- Asserts .assertTrue (UseFieldFlattening );
1221
+ Asserts .assertTrue (UseFieldFlattening && PreloadClasses );
1221
1222
return U .compareAndSetFlatValue (this , TEST63_VT_OFFSET , TEST63_VT_LAYOUT , SmallValue .class , oldVal , newVal );
1222
1223
} else {
1223
- Asserts .assertFalse (UseFieldFlattening );
1224
+ Asserts .assertFalse (UseFieldFlattening && PreloadClasses );
1224
1225
return U .compareAndSetReference (this , TEST63_VT_OFFSET , oldVal , newVal );
1225
1226
}
1226
1227
}
@@ -1256,11 +1257,11 @@ public void test63_verifier() {
1256
1257
static {
1257
1258
try {
1258
1259
TEST64_ARRAY = (SmallValue [])ValueClass .newNullRestrictedAtomicArray (SmallValue .class , 2 , SmallValue .DEFAULT );
1259
- TEST64_BASE_OFFSET = U .arrayBaseOffset (TEST64_ARRAY . getClass () );
1260
- TEST64_INDEX_SCALE = U .arrayIndexScale (TEST64_ARRAY . getClass () );
1260
+ TEST64_BASE_OFFSET = U .arrayBaseOffset (TEST64_ARRAY );
1261
+ TEST64_INDEX_SCALE = U .arrayIndexScale (TEST64_ARRAY );
1261
1262
TEST64_FLATTENED_ARRAY = ValueClass .isFlatArray (TEST64_ARRAY );
1262
1263
TEST64_ATOMIC_ARRAY = ValueClass .isAtomicArray (TEST64_ARRAY );
1263
- TEST64_LAYOUT = U .arrayLayout (TEST64_ARRAY . getClass () );
1264
+ TEST64_LAYOUT = U .arrayLayout (TEST64_ARRAY );
1264
1265
} catch (Exception e ) {
1265
1266
throw new RuntimeException (e );
1266
1267
}
@@ -1303,10 +1304,10 @@ public void test64_verifier() {
1303
1304
@ Test
1304
1305
public boolean test65 (Object o , Object oldVal , SmallValue newVal ) {
1305
1306
if (TEST63_VT_FLATTENED ) {
1306
- Asserts .assertTrue (UseFieldFlattening );
1307
+ Asserts .assertTrue (UseFieldFlattening && PreloadClasses );
1307
1308
return U .compareAndSetFlatValue (o , TEST63_VT_OFFSET , TEST63_VT_LAYOUT , SmallValue .class , oldVal , newVal );
1308
1309
} else {
1309
- Asserts .assertFalse (UseFieldFlattening );
1310
+ Asserts .assertFalse (UseFieldFlattening && PreloadClasses );
1310
1311
return U .compareAndSetReference (o , TEST63_VT_OFFSET , oldVal , newVal );
1311
1312
}
1312
1313
}
@@ -1331,10 +1332,10 @@ public void test65_verifier() {
1331
1332
@ Test
1332
1333
public boolean test66 (Object oldVal , Object newVal ) {
1333
1334
if (TEST63_VT_FLATTENED ) {
1334
- Asserts .assertTrue (UseFieldFlattening );
1335
+ Asserts .assertTrue (UseFieldFlattening && PreloadClasses );
1335
1336
return U .compareAndSetFlatValue (this , TEST63_VT_OFFSET , TEST63_VT_LAYOUT , SmallValue .class , oldVal , newVal );
1336
1337
} else {
1337
- Asserts .assertFalse (UseFieldFlattening );
1338
+ Asserts .assertFalse (UseFieldFlattening && PreloadClasses );
1338
1339
return U .compareAndSetReference (this , TEST63_VT_OFFSET , oldVal , newVal );
1339
1340
}
1340
1341
}
@@ -1359,10 +1360,10 @@ public void test66_verifier() {
1359
1360
@ Test
1360
1361
public Object test67 (SmallValue oldVal , SmallValue newVal ) {
1361
1362
if (TEST63_VT_FLATTENED ) {
1362
- Asserts .assertTrue (UseFieldFlattening );
1363
+ Asserts .assertTrue (UseFieldFlattening && PreloadClasses );
1363
1364
return U .compareAndExchangeFlatValue (this , TEST63_VT_OFFSET , TEST63_VT_LAYOUT , SmallValue .class , oldVal , newVal );
1364
1365
} else {
1365
- Asserts .assertFalse (UseFieldFlattening );
1366
+ Asserts .assertFalse (UseFieldFlattening && PreloadClasses );
1366
1367
return U .compareAndExchangeReference (this , TEST63_VT_OFFSET , oldVal , newVal );
1367
1368
}
1368
1369
}
@@ -1427,10 +1428,10 @@ public void test68_verifier() {
1427
1428
@ Test
1428
1429
public Object test69 (Object o , Object oldVal , SmallValue newVal ) {
1429
1430
if (TEST63_VT_FLATTENED ) {
1430
- Asserts .assertTrue (UseFieldFlattening );
1431
+ Asserts .assertTrue (UseFieldFlattening && PreloadClasses );
1431
1432
return U .compareAndExchangeFlatValue (o , TEST63_VT_OFFSET , TEST63_VT_LAYOUT , SmallValue .class , oldVal , newVal );
1432
1433
} else {
1433
- Asserts .assertFalse (UseFieldFlattening );
1434
+ Asserts .assertFalse (UseFieldFlattening && PreloadClasses );
1434
1435
return U .compareAndExchangeReference (o , TEST63_VT_OFFSET , oldVal , newVal );
1435
1436
}
1436
1437
}
@@ -1456,10 +1457,10 @@ public void test69_verifier() {
1456
1457
@ Test
1457
1458
public Object test70 (Object oldVal , Object newVal ) {
1458
1459
if (TEST63_VT_FLATTENED ) {
1459
- Asserts .assertTrue (UseFieldFlattening );
1460
+ Asserts .assertTrue (UseFieldFlattening && PreloadClasses );
1460
1461
return U .compareAndExchangeFlatValue (this , TEST63_VT_OFFSET , TEST63_VT_LAYOUT , SmallValue .class , oldVal , newVal );
1461
1462
} else {
1462
- Asserts .assertFalse (UseFieldFlattening );
1463
+ Asserts .assertFalse (UseFieldFlattening && PreloadClasses );
1463
1464
return U .compareAndExchangeReference (this , TEST63_VT_OFFSET , oldVal , newVal );
1464
1465
}
1465
1466
}
0 commit comments