1293 range(0, 2) \ 1294 \ 1295 product(bool, CompactFields, true, \ 1296 "Allocate nonstatic fields in gaps between previous fields") \ 1297 \ 1298 notproduct(bool, PrintFieldLayout, false, \ 1299 "Print field layout for each class") \ 1300 \ 1301 notproduct(bool, PrintValueLayout, false, \ 1302 "Print field layout for each value type") \ 1303 \ 1304 notproduct(bool, PrintValueArrayLayout, false, \ 1305 "Print array layout for each value type array") \ 1306 \ 1307 product(bool, ValueArrayFlatten, true, \ 1308 "Flatten value array elements, if possible") \ 1309 \ 1310 product(intx, ValueArrayElemMaxFlatSize, -1, \ 1311 "Max size for flattening value array elements, <0 no limit") \ 1312 \ 1313 product(intx, ValueArrayElemMaxFlatOops, 4, \ 1314 "Max nof embedded object references in a value type to flatten, <0 no limit") \ 1315 \ 1316 product(bool, ValueArrayAtomicAccess, false, \ 1317 "Atomic value array accesses by-default, for all value arrays") \ 1318 \ 1319 /* Need to limit the extent of the padding to reasonable size. */\ 1320 /* 8K is well beyond the reasonable HW cache line size, even with */\ 1321 /* aggressive prefetching, while still leaving the room for segregating */\ 1322 /* among the distinct pages. */\ 1323 product(intx, ContendedPaddingWidth, 128, \ 1324 "How many bytes to pad the fields/classes marked @Contended with")\ 1325 range(0, 8192) \ 1326 constraint(ContendedPaddingWidthConstraintFunc,AfterErgo) \ 1327 \ 1328 product(bool, EnableContended, true, \ 1329 "Enable @Contended annotation support") \ 1330 \ 1331 product(bool, RestrictContended, true, \ 1332 "Restrict @Contended to trusted classes") \ | 1293 range(0, 2) \ 1294 \ 1295 product(bool, CompactFields, true, \ 1296 "Allocate nonstatic fields in gaps between previous fields") \ 1297 \ 1298 notproduct(bool, PrintFieldLayout, false, \ 1299 "Print field layout for each class") \ 1300 \ 1301 notproduct(bool, PrintValueLayout, false, \ 1302 "Print field layout for each value type") \ 1303 \ 1304 notproduct(bool, PrintValueArrayLayout, false, \ 1305 "Print array layout for each value type array") \ 1306 \ 1307 product(bool, ValueArrayFlatten, true, \ 1308 "Flatten value array elements, if possible") \ 1309 \ 1310 product(intx, ValueArrayElemMaxFlatSize, -1, \ 1311 "Max size for flattening value array elements, <0 no limit") \ 1312 \ 1313 product(intx, ValueFieldMaxFlatSize, -1, \ 1314 "Max size for flattening value type fields, <0 no limit") \ 1315 \ 1316 product(intx, ValueArrayElemMaxFlatOops, 4, \ 1317 "Max nof embedded object references in a value type to flatten, <0 no limit") \ 1318 \ 1319 product(bool, ValueArrayAtomicAccess, false, \ 1320 "Atomic value array accesses by-default, for all value arrays") \ 1321 \ 1322 /* Need to limit the extent of the padding to reasonable size. */\ 1323 /* 8K is well beyond the reasonable HW cache line size, even with */\ 1324 /* aggressive prefetching, while still leaving the room for segregating */\ 1325 /* among the distinct pages. */\ 1326 product(intx, ContendedPaddingWidth, 128, \ 1327 "How many bytes to pad the fields/classes marked @Contended with")\ 1328 range(0, 8192) \ 1329 constraint(ContendedPaddingWidthConstraintFunc,AfterErgo) \ 1330 \ 1331 product(bool, EnableContended, true, \ 1332 "Enable @Contended annotation support") \ 1333 \ 1334 product(bool, RestrictContended, true, \ 1335 "Restrict @Contended to trusted classes") \ |