1762 \ 1763 product(uintx, CMSClassUnloadingMaxInterval, 0, \ 1764 "When CMS class unloading is enabled, the maximum CMS cycle " \ 1765 "count for which classes may not be unloaded") \ 1766 range(0, max_uintx) \ 1767 \ 1768 product(uintx, CMSIndexedFreeListReplenish, 4, \ 1769 "Replenish an indexed free list with this number of chunks") \ 1770 range(1, max_uintx) \ 1771 \ 1772 product(bool, CMSReplenishIntermediate, true, \ 1773 "Replenish all intermediate free-list caches") \ 1774 \ 1775 product(bool, CMSSplitIndexedFreeListBlocks, true, \ 1776 "When satisfying batched demand, split blocks from the " \ 1777 "IndexedFreeList whose size is a multiple of requested size") \ 1778 \ 1779 product(bool, CMSLoopWarn, false, \ 1780 "Warn in case of excessive CMS looping") \ 1781 \ 1782 /* where does the range max value of (max_jint - 1) come from? */ \ 1783 product(size_t, MarkStackSizeMax, NOT_LP64(4*M) LP64_ONLY(512*M), \ 1784 "Maximum size of marking stack") \ 1785 range(1, (max_jint - 1)) \ 1786 \ 1787 product(size_t, MarkStackSize, NOT_LP64(32*K) LP64_ONLY(4*M), \ 1788 "Size of marking stack") \ 1789 constraint(MarkStackSizeConstraintFunc,AfterErgo) \ 1790 \ 1791 notproduct(bool, CMSMarkStackOverflowALot, false, \ 1792 "Simulate frequent marking stack / work queue overflow") \ 1793 \ 1794 notproduct(uintx, CMSMarkStackOverflowInterval, 1000, \ 1795 "An \"interval\" counter that determines how frequently " \ 1796 "to simulate overflow; a smaller number increases frequency") \ 1797 \ 1798 product(uintx, CMSMaxAbortablePrecleanLoops, 0, \ 1799 "Maximum number of abortable preclean iterations, if > 0") \ 1800 range(0, max_uintx) \ 1801 \ | 1762 \ 1763 product(uintx, CMSClassUnloadingMaxInterval, 0, \ 1764 "When CMS class unloading is enabled, the maximum CMS cycle " \ 1765 "count for which classes may not be unloaded") \ 1766 range(0, max_uintx) \ 1767 \ 1768 product(uintx, CMSIndexedFreeListReplenish, 4, \ 1769 "Replenish an indexed free list with this number of chunks") \ 1770 range(1, max_uintx) \ 1771 \ 1772 product(bool, CMSReplenishIntermediate, true, \ 1773 "Replenish all intermediate free-list caches") \ 1774 \ 1775 product(bool, CMSSplitIndexedFreeListBlocks, true, \ 1776 "When satisfying batched demand, split blocks from the " \ 1777 "IndexedFreeList whose size is a multiple of requested size") \ 1778 \ 1779 product(bool, CMSLoopWarn, false, \ 1780 "Warn in case of excessive CMS looping") \ 1781 \ 1782 product(size_t, SATBBufferSize, 1*K, \ 1783 "Number of entries in an SATB log buffer.") \ 1784 range(1, max_uintx) \ 1785 \ 1786 develop(intx, SATBProcessCompletedThreshold, 20, \ 1787 "Number of completed buffers that triggers log processing.") \ 1788 range(0, max_jint) \ 1789 \ 1790 product(uintx, SATBBufferEnqueueingThresholdPercent, 60, \ 1791 "Before enqueueing them, each mutator thread tries to do some " \ 1792 "filtering on the SATB buffers it generates. If post-filtering " \ 1793 "the percentage of retained entries is over this threshold " \ 1794 "the buffer will be enqueued for processing. A value of 0 " \ 1795 "specifies that mutator threads should not do such filtering.") \ 1796 range(0, 100) \ 1797 \ 1798 /* where does the range max value of (max_jint - 1) come from? */ \ 1799 product(size_t, MarkStackSizeMax, NOT_LP64(4*M) LP64_ONLY(512*M), \ 1800 "Maximum size of marking stack") \ 1801 range(1, (max_jint - 1)) \ 1802 \ 1803 product(size_t, MarkStackSize, NOT_LP64(32*K) LP64_ONLY(4*M), \ 1804 "Size of marking stack") \ 1805 constraint(MarkStackSizeConstraintFunc,AfterErgo) \ 1806 \ 1807 notproduct(bool, CMSMarkStackOverflowALot, false, \ 1808 "Simulate frequent marking stack / work queue overflow") \ 1809 \ 1810 notproduct(uintx, CMSMarkStackOverflowInterval, 1000, \ 1811 "An \"interval\" counter that determines how frequently " \ 1812 "to simulate overflow; a smaller number increases frequency") \ 1813 \ 1814 product(uintx, CMSMaxAbortablePrecleanLoops, 0, \ 1815 "Maximum number of abortable preclean iterations, if > 0") \ 1816 range(0, max_uintx) \ 1817 \ |