1353 "we simulate overflow; a smaller number increases frequency") \ |
1353 "we simulate overflow; a smaller number increases frequency") \ |
1354 \ |
1354 \ |
1355 product(uintx, ParGCDesiredObjsFromOverflowList, 20, \ |
1355 product(uintx, ParGCDesiredObjsFromOverflowList, 20, \ |
1356 "The desired number of objects to claim from the overflow list") \ |
1356 "The desired number of objects to claim from the overflow list") \ |
1357 \ |
1357 \ |
1358 product(uintx, CMSParPromoteBlocksToClaim, 50, \ |
1358 product(uintx, CMSParPromoteBlocksToClaim, 16, \ |
1359 "Number of blocks to attempt to claim when refilling CMS LAB for "\ |
1359 "Number of blocks to attempt to claim when refilling CMS LAB for "\ |
1360 "parallel GC.") \ |
1360 "parallel GC.") \ |
|
1361 \ |
|
1362 product(uintx, OldPLABWeight, 50, \ |
|
1363 "Percentage (0-100) used to weight the current sample when" \ |
|
1364 "computing exponentially decaying average for resizing CMSParPromoteBlocksToClaim.") \ |
|
1365 \ |
|
1366 product(bool, ResizeOldPLAB, true, \ |
|
1367 "Dynamically resize (old gen) promotion labs") \ |
|
1368 \ |
|
1369 product(bool, PrintOldPLAB, false, \ |
|
1370 "Print (old gen) promotion labs sizing decisions") \ |
|
1371 \ |
|
1372 product(uintx, CMSOldPLABMin, 16, \ |
|
1373 "Min size of CMS gen promotion lab caches per worker per blksize")\ |
|
1374 \ |
|
1375 product(uintx, CMSOldPLABMax, 1024, \ |
|
1376 "Max size of CMS gen promotion lab caches per worker per blksize")\ |
|
1377 \ |
|
1378 product(uintx, CMSOldPLABNumRefills, 4, \ |
|
1379 "Nominal number of refills of CMS gen promotion lab cache" \ |
|
1380 " per worker per block size") \ |
|
1381 \ |
|
1382 product(bool, CMSOldPLABResizeQuicker, false, \ |
|
1383 "Whether to react on-the-fly during a scavenge to a sudden" \ |
|
1384 " change in block demand rate") \ |
|
1385 \ |
|
1386 product(uintx, CMSOldPLABToleranceFactor, 4, \ |
|
1387 "The tolerance of the phase-change detector for on-the-fly" \ |
|
1388 " PLAB resizing during a scavenge") \ |
|
1389 \ |
|
1390 product(uintx, CMSOldPLABReactivityFactor, 2, \ |
|
1391 "The gain in the feedback loop for on-the-fly PLAB resizing" \ |
|
1392 " during a scavenge") \ |
|
1393 \ |
|
1394 product(uintx, CMSOldPLABReactivityCeiling, 10, \ |
|
1395 "The clamping of the gain in the feedback loop for on-the-fly" \ |
|
1396 " PLAB resizing during a scavenge") \ |
1361 \ |
1397 \ |
1362 product(bool, AlwaysPreTouch, false, \ |
1398 product(bool, AlwaysPreTouch, false, \ |
1363 "It forces all freshly committed pages to be pre-touched.") \ |
1399 "It forces all freshly committed pages to be pre-touched.") \ |
1364 \ |
1400 \ |
1365 product(bool, CMSUseOldDefaults, false, \ |
1401 product(bool, CMSUseOldDefaults, false, \ |
1398 \ |
1434 \ |
1399 product(uintx, CMSIncrementalOffset, 0, \ |
1435 product(uintx, CMSIncrementalOffset, 0, \ |
1400 "Percentage (0-100) by which the CMS incremental mode duty cycle" \ |
1436 "Percentage (0-100) by which the CMS incremental mode duty cycle" \ |
1401 " is shifted to the right within the period between young GCs") \ |
1437 " is shifted to the right within the period between young GCs") \ |
1402 \ |
1438 \ |
1403 product(uintx, CMSExpAvgFactor, 25, \ |
1439 product(uintx, CMSExpAvgFactor, 50, \ |
1404 "Percentage (0-100) used to weight the current sample when " \ |
1440 "Percentage (0-100) used to weight the current sample when" \ |
1405 "computing exponential averages for CMS statistics") \ |
1441 "computing exponential averages for CMS statistics.") \ |
1406 \ |
1442 \ |
1407 product(uintx, CMS_FLSWeight, 50, \ |
1443 product(uintx, CMS_FLSWeight, 75, \ |
1408 "Percentage (0-100) used to weight the current sample when " \ |
1444 "Percentage (0-100) used to weight the current sample when" \ |
1409 "computing exponentially decating averages for CMS FLS statistics") \ |
1445 "computing exponentially decating averages for CMS FLS statistics.") \ |
1410 \ |
1446 \ |
1411 product(uintx, CMS_FLSPadding, 2, \ |
1447 product(uintx, CMS_FLSPadding, 1, \ |
1412 "The multiple of deviation from mean to use for buffering " \ |
1448 "The multiple of deviation from mean to use for buffering" \ |
1413 "against volatility in free list demand.") \ |
1449 "against volatility in free list demand.") \ |
1414 \ |
1450 \ |
1415 product(uintx, FLSCoalescePolicy, 2, \ |
1451 product(uintx, FLSCoalescePolicy, 2, \ |
1416 "CMS: Aggression level for coalescing, increasing from 0 to 4") \ |
1452 "CMS: Aggression level for coalescing, increasing from 0 to 4") \ |
1417 \ |
1453 \ |
1418 product(uintx, CMS_SweepWeight, 50, \ |
1454 product(bool, FLSAlwaysCoalesceLarge, false, \ |
|
1455 "CMS: Larger free blocks are always available for coalescing") \ |
|
1456 \ |
|
1457 product(double, FLSLargestBlockCoalesceProximity, 0.99, \ |
|
1458 "CMS: the smaller the percentage the greater the coalition force")\ |
|
1459 \ |
|
1460 product(double, CMSSmallCoalSurplusPercent, 1.05, \ |
|
1461 "CMS: the factor by which to inflate estimated demand of small" \ |
|
1462 " block sizes to prevent coalescing with an adjoining block") \ |
|
1463 \ |
|
1464 product(double, CMSLargeCoalSurplusPercent, 0.95, \ |
|
1465 "CMS: the factor by which to inflate estimated demand of large" \ |
|
1466 " block sizes to prevent coalescing with an adjoining block") \ |
|
1467 \ |
|
1468 product(double, CMSSmallSplitSurplusPercent, 1.10, \ |
|
1469 "CMS: the factor by which to inflate estimated demand of small" \ |
|
1470 " block sizes to prevent splitting to supply demand for smaller" \ |
|
1471 " blocks") \ |
|
1472 \ |
|
1473 product(double, CMSLargeSplitSurplusPercent, 1.00, \ |
|
1474 "CMS: the factor by which to inflate estimated demand of large" \ |
|
1475 " block sizes to prevent splitting to supply demand for smaller" \ |
|
1476 " blocks") \ |
|
1477 \ |
|
1478 product(bool, CMSExtrapolateSweep, false, \ |
|
1479 "CMS: cushion for block demand during sweep") \ |
|
1480 \ |
|
1481 product(uintx, CMS_SweepWeight, 75, \ |
1419 "Percentage (0-100) used to weight the current sample when " \ |
1482 "Percentage (0-100) used to weight the current sample when " \ |
1420 "computing exponentially decaying average for inter-sweep " \ |
1483 "computing exponentially decaying average for inter-sweep " \ |
1421 "duration") \ |
1484 "duration") \ |
1422 \ |
1485 \ |
1423 product(uintx, CMS_SweepPadding, 2, \ |
1486 product(uintx, CMS_SweepPadding, 1, \ |
1424 "The multiple of deviation from mean to use for buffering " \ |
1487 "The multiple of deviation from mean to use for buffering " \ |
1425 "against volatility in inter-sweep duration.") \ |
1488 "against volatility in inter-sweep duration.") \ |
1426 \ |
1489 \ |
1427 product(uintx, CMS_SweepTimerThresholdMillis, 10, \ |
1490 product(uintx, CMS_SweepTimerThresholdMillis, 10, \ |
1428 "Skip block flux-rate sampling for an epoch unless inter-sweep " \ |
1491 "Skip block flux-rate sampling for an epoch unless inter-sweep " \ |
1456 develop(intx, CMSDictionaryChoice, 0, \ |
1519 develop(intx, CMSDictionaryChoice, 0, \ |
1457 "Use BinaryTreeDictionary as default in the CMS generation") \ |
1520 "Use BinaryTreeDictionary as default in the CMS generation") \ |
1458 \ |
1521 \ |
1459 product(uintx, CMSIndexedFreeListReplenish, 4, \ |
1522 product(uintx, CMSIndexedFreeListReplenish, 4, \ |
1460 "Replenish and indexed free list with this number of chunks") \ |
1523 "Replenish and indexed free list with this number of chunks") \ |
|
1524 \ |
|
1525 product(bool, CMSReplenishIntermediate, true, \ |
|
1526 "Replenish all intermediate free-list caches") \ |
|
1527 \ |
|
1528 product(bool, CMSSplitIndexedFreeListBlocks, true, \ |
|
1529 "When satisfying batched demand, splot blocks from the " \ |
|
1530 "IndexedFreeList whose size is a multiple of requested size") \ |
1461 \ |
1531 \ |
1462 product(bool, CMSLoopWarn, false, \ |
1532 product(bool, CMSLoopWarn, false, \ |
1463 "Warn in case of excessive CMS looping") \ |
1533 "Warn in case of excessive CMS looping") \ |
1464 \ |
1534 \ |
1465 develop(bool, CMSOverflowEarlyRestoration, false, \ |
1535 develop(bool, CMSOverflowEarlyRestoration, false, \ |
1591 \ |
1661 \ |
1592 product(uintx, CMSBitMapYieldQuantum, 10*M, \ |
1662 product(uintx, CMSBitMapYieldQuantum, 10*M, \ |
1593 "Bitmap operations should process at most this many bits" \ |
1663 "Bitmap operations should process at most this many bits" \ |
1594 "between yields") \ |
1664 "between yields") \ |
1595 \ |
1665 \ |
|
1666 product(bool, CMSDumpAtPromotionFailure, false, \ |
|
1667 "Dump useful information about the state of the CMS old " \ |
|
1668 " generation upon a promotion failure.") \ |
|
1669 \ |
|
1670 product(bool, CMSPrintChunksInDump, false, \ |
|
1671 "In a dump enabled by CMSDumpAtPromotionFailure, include " \ |
|
1672 " more detailed information about the free chunks.") \ |
|
1673 \ |
|
1674 product(bool, CMSPrintObjectsInDump, false, \ |
|
1675 "In a dump enabled by CMSDumpAtPromotionFailure, include " \ |
|
1676 " more detailed information about the allocated objects.") \ |
|
1677 \ |
1596 diagnostic(bool, FLSVerifyAllHeapReferences, false, \ |
1678 diagnostic(bool, FLSVerifyAllHeapReferences, false, \ |
1597 "Verify that all refs across the FLS boundary " \ |
1679 "Verify that all refs across the FLS boundary " \ |
1598 " are to valid objects") \ |
1680 " are to valid objects") \ |
1599 \ |
1681 \ |
1600 diagnostic(bool, FLSVerifyLists, false, \ |
1682 diagnostic(bool, FLSVerifyLists, false, \ |
1674 "Enforce ScavengeALot/GCALot at all potential safepoints") \ |
1756 "Enforce ScavengeALot/GCALot at all potential safepoints") \ |
1675 \ |
1757 \ |
1676 product(bool, HandlePromotionFailure, true, \ |
1758 product(bool, HandlePromotionFailure, true, \ |
1677 "The youngest generation collection does not require " \ |
1759 "The youngest generation collection does not require " \ |
1678 "a guarantee of full promotion of all live objects.") \ |
1760 "a guarantee of full promotion of all live objects.") \ |
|
1761 \ |
|
1762 product(bool, PrintPromotionFailure, false, \ |
|
1763 "Print additional diagnostic information following " \ |
|
1764 " promotion failure") \ |
1679 \ |
1765 \ |
1680 notproduct(bool, PromotionFailureALot, false, \ |
1766 notproduct(bool, PromotionFailureALot, false, \ |
1681 "Use promotion failure handling on every youngest generation " \ |
1767 "Use promotion failure handling on every youngest generation " \ |
1682 "collection") \ |
1768 "collection") \ |
1683 \ |
1769 \ |