72 diagnostic(intx, G1SummarizeRSetStatsPeriod, 0, \
73 "The period (in number of GCs) at which we will generate " \
74 "update buffer processing info " \
75 "(0 means do not periodically generate this info); " \
76 "it also requires -XX:+G1SummarizeRSetStats") \
77 \
78 diagnostic(bool, G1TraceConcRefinement, false, \
79 "Trace G1 concurrent refinement") \
80 \
81 product(intx, G1MarkRegionStackSize, 1024 * 1024, \
82 "Size of the region stack for concurrent marking.") \
83 \
84 product(double, G1ConcMarkStepDurationMillis, 10.0, \
85 "Target duration of individual concurrent marking steps " \
86 "in milliseconds.") \
87 \
88 product(intx, G1RefProcDrainInterval, 10, \
89 "The number of discovered reference objects to process before " \
90 "draining concurrent marking work queues.") \
91 \
92 develop(bool, G1SATBBarrierPrintNullPreVals, false, \
93 "If true, count frac of ptr writes with null pre-vals.") \
94 \
95 product(intx, G1SATBBufferSize, 1*K, \
96 "Number of entries in an SATB log buffer.") \
97 \
98 develop(intx, G1SATBProcessCompletedThreshold, 20, \
99 "Number of completed buffers that triggers log processing.") \
100 \
101 product(uintx, G1SATBBufferEnqueueingThresholdPercent, 60, \
102 "Before enqueueing them, each mutator thread tries to do some " \
103 "filtering on the SATB buffers it generates. If post-filtering " \
104 "the percentage of retained entries is over this threshold " \
105 "the buffer will be enqueued for processing. A value of 0 " \
106 "specifies that mutator threads should not do such filtering.") \
107 \
108 develop(intx, G1ExtraRegionSurvRate, 33, \
109 "If the young survival rate is S, and there's room left in " \
110 "to-space, we will allow regions whose survival rate is up to " \
111 "S + (1 - S)*X, where X is this parameter (as a fraction.)") \
112 \
113 develop(intx, G1InitYoungSurvRatio, 50, \
114 "Expected Survival Rate for newly allocated bytes") \
128 develop(bool, G1PrintCTFilterStats, false, \
129 "If true, print stats on RS filtering effectiveness") \
130 \
131 develop(bool, G1DeferredRSUpdate, true, \
132 "If true, use deferred RS updates") \
133 \
134 develop(bool, G1RSLogCheckCardTable, false, \
135 "If true, verify that no dirty cards remain after RS log " \
136 "processing.") \
137 \
138 develop(bool, G1RSCountHisto, false, \
139 "If true, print a histogram of RS occupancies after each pause") \
140 \
141 develop(intx, G1PrintRegionLivenessInfo, 0, \
142 "When > 0, print the occupancies of the <n> best and worst" \
143 "regions.") \
144 \
145 develop(bool, G1PrintParCleanupStats, false, \
146 "When true, print extra stats about parallel cleanup.") \
147 \
148 develop(bool, G1DisablePreBarrier, false, \
149 "Disable generation of pre-barrier (i.e., marking barrier) ") \
150 \
151 develop(bool, G1DisablePostBarrier, false, \
152 "Disable generation of post-barrier (i.e., RS barrier) ") \
153 \
154 product(intx, G1UpdateBufferSize, 256, \
155 "Size of an update buffer") \
156 \
157 product(intx, G1ConcRefinementYellowZone, 0, \
158 "Number of enqueued update buffers that will " \
159 "trigger concurrent processing. Will be selected ergonomically " \
160 "by default.") \
161 \
162 product(intx, G1ConcRefinementRedZone, 0, \
163 "Maximum number of enqueued update buffers before mutator " \
164 "threads start processing new ones instead of enqueueing them. " \
165 "Will be selected ergonomically by default. Zero will disable " \
166 "concurrent processing.") \
167 \
168 product(intx, G1ConcRefinementGreenZone, 0, \
169 "The number of update buffers that are left in the queue by the " \
170 "concurrent processing threads. Will be selected ergonomically " \
171 "by default.") \
172 \
173 product(intx, G1ConcRefinementServiceIntervalMillis, 300, \
|
72 diagnostic(intx, G1SummarizeRSetStatsPeriod, 0, \
73 "The period (in number of GCs) at which we will generate " \
74 "update buffer processing info " \
75 "(0 means do not periodically generate this info); " \
76 "it also requires -XX:+G1SummarizeRSetStats") \
77 \
78 diagnostic(bool, G1TraceConcRefinement, false, \
79 "Trace G1 concurrent refinement") \
80 \
81 product(intx, G1MarkRegionStackSize, 1024 * 1024, \
82 "Size of the region stack for concurrent marking.") \
83 \
84 product(double, G1ConcMarkStepDurationMillis, 10.0, \
85 "Target duration of individual concurrent marking steps " \
86 "in milliseconds.") \
87 \
88 product(intx, G1RefProcDrainInterval, 10, \
89 "The number of discovered reference objects to process before " \
90 "draining concurrent marking work queues.") \
91 \
92 product(intx, G1SATBBufferSize, 1*K, \
93 "Number of entries in an SATB log buffer.") \
94 \
95 develop(intx, G1SATBProcessCompletedThreshold, 20, \
96 "Number of completed buffers that triggers log processing.") \
97 \
98 product(uintx, G1SATBBufferEnqueueingThresholdPercent, 60, \
99 "Before enqueueing them, each mutator thread tries to do some " \
100 "filtering on the SATB buffers it generates. If post-filtering " \
101 "the percentage of retained entries is over this threshold " \
102 "the buffer will be enqueued for processing. A value of 0 " \
103 "specifies that mutator threads should not do such filtering.") \
104 \
105 develop(intx, G1ExtraRegionSurvRate, 33, \
106 "If the young survival rate is S, and there's room left in " \
107 "to-space, we will allow regions whose survival rate is up to " \
108 "S + (1 - S)*X, where X is this parameter (as a fraction.)") \
109 \
110 develop(intx, G1InitYoungSurvRatio, 50, \
111 "Expected Survival Rate for newly allocated bytes") \
125 develop(bool, G1PrintCTFilterStats, false, \
126 "If true, print stats on RS filtering effectiveness") \
127 \
128 develop(bool, G1DeferredRSUpdate, true, \
129 "If true, use deferred RS updates") \
130 \
131 develop(bool, G1RSLogCheckCardTable, false, \
132 "If true, verify that no dirty cards remain after RS log " \
133 "processing.") \
134 \
135 develop(bool, G1RSCountHisto, false, \
136 "If true, print a histogram of RS occupancies after each pause") \
137 \
138 develop(intx, G1PrintRegionLivenessInfo, 0, \
139 "When > 0, print the occupancies of the <n> best and worst" \
140 "regions.") \
141 \
142 develop(bool, G1PrintParCleanupStats, false, \
143 "When true, print extra stats about parallel cleanup.") \
144 \
145 product(intx, G1UpdateBufferSize, 256, \
146 "Size of an update buffer") \
147 \
148 product(intx, G1ConcRefinementYellowZone, 0, \
149 "Number of enqueued update buffers that will " \
150 "trigger concurrent processing. Will be selected ergonomically " \
151 "by default.") \
152 \
153 product(intx, G1ConcRefinementRedZone, 0, \
154 "Maximum number of enqueued update buffers before mutator " \
155 "threads start processing new ones instead of enqueueing them. " \
156 "Will be selected ergonomically by default. Zero will disable " \
157 "concurrent processing.") \
158 \
159 product(intx, G1ConcRefinementGreenZone, 0, \
160 "The number of update buffers that are left in the queue by the " \
161 "concurrent processing threads. Will be selected ergonomically " \
162 "by default.") \
163 \
164 product(intx, G1ConcRefinementServiceIntervalMillis, 300, \
|