1708 "An \"interval\" counter that determines how frequently " \
1709 "to simulate overflow; a smaller number increases frequency") \
1710 \
1711 product(uintx, CMSMaxAbortablePrecleanLoops, 0, \
1712 "Maximum number of abortable preclean iterations, if > 0") \
1713 range(0, max_uintx) \
1714 \
1715 product(intx, CMSMaxAbortablePrecleanTime, 5000, \
1716 "Maximum time in abortable preclean (in milliseconds)") \
1717 range(0, max_intx) \
1718 \
1719 product(uintx, CMSAbortablePrecleanMinWorkPerIteration, 100, \
1720 "Nominal minimum work per abortable preclean iteration") \
1721 range(0, max_uintx) \
1722 \
1723 manageable(intx, CMSAbortablePrecleanWaitMillis, 100, \
1724 "Time that we sleep between iterations when not given " \
1725 "enough work per iteration") \
1726 range(0, max_intx) \
1727 \
1728 /* 4096 = CardTableModRefBS::card_size_in_words * BitsPerWord */ \
1729 product(size_t, CMSRescanMultiple, 32, \
1730 "Size (in cards) of CMS parallel rescan task") \
1731 range(1, SIZE_MAX / 4096) \
1732 constraint(CMSRescanMultipleConstraintFunc,AfterMemoryInit) \
1733 \
1734 /* 4096 = CardTableModRefBS::card_size_in_words * BitsPerWord */ \
1735 product(size_t, CMSConcMarkMultiple, 32, \
1736 "Size (in cards) of CMS concurrent MT marking task") \
1737 range(1, SIZE_MAX / 4096) \
1738 constraint(CMSConcMarkMultipleConstraintFunc,AfterMemoryInit) \
1739 \
1740 product(bool, CMSAbortSemantics, false, \
1741 "Whether abort-on-overflow semantics is implemented") \
1742 \
1743 product(bool, CMSParallelInitialMarkEnabled, true, \
1744 "Use the parallel initial mark.") \
1745 \
1746 product(bool, CMSParallelRemarkEnabled, true, \
1747 "Whether parallel remark enabled (only if ParNewGC)") \
1748 \
1749 product(bool, CMSParallelSurvivorRemarkEnabled, true, \
1750 "Whether parallel remark of survivor space " \
1751 "enabled (effective only if CMSParallelRemarkEnabled)") \
1752 \
1753 product(bool, CMSPLABRecordAlways, true, \
1754 "Always record survivor space PLAB boundaries (effective only " \
|
1708 "An \"interval\" counter that determines how frequently " \
1709 "to simulate overflow; a smaller number increases frequency") \
1710 \
1711 product(uintx, CMSMaxAbortablePrecleanLoops, 0, \
1712 "Maximum number of abortable preclean iterations, if > 0") \
1713 range(0, max_uintx) \
1714 \
1715 product(intx, CMSMaxAbortablePrecleanTime, 5000, \
1716 "Maximum time in abortable preclean (in milliseconds)") \
1717 range(0, max_intx) \
1718 \
1719 product(uintx, CMSAbortablePrecleanMinWorkPerIteration, 100, \
1720 "Nominal minimum work per abortable preclean iteration") \
1721 range(0, max_uintx) \
1722 \
1723 manageable(intx, CMSAbortablePrecleanWaitMillis, 100, \
1724 "Time that we sleep between iterations when not given " \
1725 "enough work per iteration") \
1726 range(0, max_intx) \
1727 \
1728 /* 4096 = CardTable::card_size_in_words * BitsPerWord */ \
1729 product(size_t, CMSRescanMultiple, 32, \
1730 "Size (in cards) of CMS parallel rescan task") \
1731 range(1, SIZE_MAX / 4096) \
1732 constraint(CMSRescanMultipleConstraintFunc,AfterMemoryInit) \
1733 \
1734 /* 4096 = CardTable::card_size_in_words * BitsPerWord */ \
1735 product(size_t, CMSConcMarkMultiple, 32, \
1736 "Size (in cards) of CMS concurrent MT marking task") \
1737 range(1, SIZE_MAX / 4096) \
1738 constraint(CMSConcMarkMultipleConstraintFunc,AfterMemoryInit) \
1739 \
1740 product(bool, CMSAbortSemantics, false, \
1741 "Whether abort-on-overflow semantics is implemented") \
1742 \
1743 product(bool, CMSParallelInitialMarkEnabled, true, \
1744 "Use the parallel initial mark.") \
1745 \
1746 product(bool, CMSParallelRemarkEnabled, true, \
1747 "Whether parallel remark enabled (only if ParNewGC)") \
1748 \
1749 product(bool, CMSParallelSurvivorRemarkEnabled, true, \
1750 "Whether parallel remark of survivor space " \
1751 "enabled (effective only if CMSParallelRemarkEnabled)") \
1752 \
1753 product(bool, CMSPLABRecordAlways, true, \
1754 "Always record survivor space PLAB boundaries (effective only " \
|