125 "trigger concurrent processing. Will be selected ergonomically " \
126 "by default.") \
127 range(0, max_intx) \
128 \
129 product(intx, G1ConcRefinementRedZone, 0, \
130 "Maximum number of enqueued update buffers before mutator " \
131 "threads start processing new ones instead of enqueueing them. " \
132 "Will be selected ergonomically by default. Zero will disable " \
133 "concurrent processing.") \
134 range(0, max_intx) \
135 \
136 product(intx, G1ConcRefinementGreenZone, 0, \
137 "The number of update buffers that are left in the queue by the " \
138 "concurrent processing threads. Will be selected ergonomically " \
139 "by default.") \
140 range(0, max_intx) \
141 \
142 product(intx, G1ConcRefinementServiceIntervalMillis, 300, \
143 "The last concurrent refinement thread wakes up every " \
144 "specified number of milliseconds to do miscellaneous work.") \
145 range(0, max_intx) \
146 \
147 product(intx, G1ConcRefinementThresholdStep, 0, \
148 "Each time the rset update queue increases by this amount " \
149 "activate the next refinement thread if available. " \
150 "Will be selected ergonomically by default.") \
151 \
152 product(intx, G1RSetUpdatingPauseTimePercent, 10, \
153 "A target percentage of time that is allowed to be spend on " \
154 "process RS update buffers during the collection pause.") \
155 range(0, 100) \
156 \
157 product(bool, G1UseAdaptiveConcRefinement, true, \
158 "Select green, yellow and red zones adaptively to meet the " \
159 "the pause requirements.") \
160 \
161 product(size_t, G1ConcRSLogCacheSize, 10, \
162 "Log base 2 of the length of conc RS hot-card cache.") \
163 range(0, 27) \
164 \
165 product(uintx, G1ConcRSHotCardLimit, 4, \
166 "The threshold that defines (>=) a hot card.") \
167 range(0, max_jubyte) \
168 \
169 develop(intx, G1RSetRegionEntriesBase, 256, \
170 "Max number of regions in a fine-grain table per MB.") \
171 range(1, max_jint) \
172 \
173 product(intx, G1RSetRegionEntries, 0, \
174 "Max number of regions for which we keep bitmaps." \
175 "Will be set ergonomically by default") \
176 range(0, max_jint) \
177 constraint(G1RSetRegionEntriesConstraintFunc,AfterErgo) \
178 \
179 develop(intx, G1RSetSparseRegionEntriesBase, 4, \
180 "Max number of entries per region in a sparse table " \
181 "per MB.") \
182 range(1, max_jint) \
183 \
184 product(intx, G1RSetSparseRegionEntries, 0, \
185 "Max number of entries per region in a sparse table." \
186 "Will be set ergonomically by default.") \
187 range(0, max_jint) \
188 constraint(G1RSetSparseRegionEntriesConstraintFunc,AfterErgo) \
189 \
190 develop(bool, G1RecordHRRSOops, false, \
191 "When true, record recent calls to rem set operations.") \
192 \
193 develop(bool, G1RecordHRRSEvents, false, \
194 "When true, record recent calls to rem set operations.") \
195 \
196 develop(intx, G1MaxVerifyFailures, -1, \
197 "The maximum number of verification failures to print. " \
198 "-1 means print all.") \
199 range(-1, max_jint) \
200 \
201 develop(bool, G1ScrubRemSets, true, \
202 "When true, do RS scrubbing after cleanup.") \
203 \
204 develop(bool, G1RSScrubVerbose, false, \
205 "When true, do RS scrubbing with verbose output.") \
206 \
207 develop(bool, G1YoungSurvRateVerbose, false, \
223 "allocated and which are reclaimed.") \
224 \
225 develop(bool, G1HRRSUseSparseTable, true, \
226 "When true, use sparse table to save space.") \
227 \
228 develop(bool, G1HRRSFlushLogBuffersOnVerify, false, \
229 "Forces flushing of log buffers before verification.") \
230 \
231 develop(bool, G1FailOnFPError, false, \
232 "When set, G1 will fail when it encounters an FP 'error', " \
233 "so as to allow debugging") \
234 \
235 product(size_t, G1HeapRegionSize, 0, \
236 "Size of the G1 regions.") \
237 range(0, 32*M) \
238 constraint(G1HeapRegionSizeConstraintFunc,AfterMemoryInit) \
239 \
240 product(uintx, G1ConcRefinementThreads, 0, \
241 "If non-0 is the number of parallel rem set update threads, " \
242 "otherwise the value is determined ergonomically.") \
243 range(0, max_jint-1) \
244 \
245 develop(bool, G1VerifyCTCleanup, false, \
246 "Verify card table cleanup.") \
247 \
248 product(size_t, G1RSetScanBlockSize, 64, \
249 "Size of a work unit of cards claimed by a worker thread" \
250 "during RSet scanning.") \
251 range(1, max_uintx) \
252 \
253 develop(uintx, G1SecondaryFreeListAppendLength, 5, \
254 "The number of regions we will add to the secondary free list " \
255 "at every append operation") \
256 \
257 develop(bool, G1ConcRegionFreeingVerbose, false, \
258 "Enables verboseness during concurrent region freeing") \
259 \
260 develop(bool, G1StressConcRegionFreeing, false, \
261 "It stresses the concurrent region freeing operation") \
262 \
263 develop(uintx, G1StressConcRegionFreeingDelayMillis, 0, \
|
125 "trigger concurrent processing. Will be selected ergonomically " \
126 "by default.") \
127 range(0, max_intx) \
128 \
129 product(intx, G1ConcRefinementRedZone, 0, \
130 "Maximum number of enqueued update buffers before mutator " \
131 "threads start processing new ones instead of enqueueing them. " \
132 "Will be selected ergonomically by default. Zero will disable " \
133 "concurrent processing.") \
134 range(0, max_intx) \
135 \
136 product(intx, G1ConcRefinementGreenZone, 0, \
137 "The number of update buffers that are left in the queue by the " \
138 "concurrent processing threads. Will be selected ergonomically " \
139 "by default.") \
140 range(0, max_intx) \
141 \
142 product(intx, G1ConcRefinementServiceIntervalMillis, 300, \
143 "The last concurrent refinement thread wakes up every " \
144 "specified number of milliseconds to do miscellaneous work.") \
145 range(0, max_jint) \
146 \
147 product(intx, G1ConcRefinementThresholdStep, 0, \
148 "Each time the rset update queue increases by this amount " \
149 "activate the next refinement thread if available. " \
150 "Will be selected ergonomically by default.") \
151 \
152 product(intx, G1RSetUpdatingPauseTimePercent, 10, \
153 "A target percentage of time that is allowed to be spend on " \
154 "process RS update buffers during the collection pause.") \
155 range(0, 100) \
156 \
157 product(bool, G1UseAdaptiveConcRefinement, true, \
158 "Select green, yellow and red zones adaptively to meet the " \
159 "the pause requirements.") \
160 \
161 product(size_t, G1ConcRSLogCacheSize, 10, \
162 "Log base 2 of the length of conc RS hot-card cache.") \
163 range(0, 27) \
164 \
165 product(uintx, G1ConcRSHotCardLimit, 4, \
166 "The threshold that defines (>=) a hot card.") \
167 range(0, max_jubyte) \
168 \
169 develop(intx, G1RSetRegionEntriesBase, 256, \
170 "Max number of regions in a fine-grain table per MB.") \
171 range(1, max_jint/4) \
172 \
173 product(intx, G1RSetRegionEntries, 0, \
174 "Max number of regions for which we keep bitmaps." \
175 "Will be set ergonomically by default") \
176 range(0, max_jint/4) \
177 constraint(G1RSetRegionEntriesConstraintFunc,AfterErgo) \
178 \
179 develop(intx, G1RSetSparseRegionEntriesBase, 4, \
180 "Max number of entries per region in a sparse table " \
181 "per MB.") \
182 range(1, max_jint/4) \
183 \
184 product(intx, G1RSetSparseRegionEntries, 0, \
185 "Max number of entries per region in a sparse table." \
186 "Will be set ergonomically by default.") \
187 range(0, max_jint/4) \
188 constraint(G1RSetSparseRegionEntriesConstraintFunc,AfterErgo) \
189 \
190 develop(bool, G1RecordHRRSOops, false, \
191 "When true, record recent calls to rem set operations.") \
192 \
193 develop(bool, G1RecordHRRSEvents, false, \
194 "When true, record recent calls to rem set operations.") \
195 \
196 develop(intx, G1MaxVerifyFailures, -1, \
197 "The maximum number of verification failures to print. " \
198 "-1 means print all.") \
199 range(-1, max_jint) \
200 \
201 develop(bool, G1ScrubRemSets, true, \
202 "When true, do RS scrubbing after cleanup.") \
203 \
204 develop(bool, G1RSScrubVerbose, false, \
205 "When true, do RS scrubbing with verbose output.") \
206 \
207 develop(bool, G1YoungSurvRateVerbose, false, \
223 "allocated and which are reclaimed.") \
224 \
225 develop(bool, G1HRRSUseSparseTable, true, \
226 "When true, use sparse table to save space.") \
227 \
228 develop(bool, G1HRRSFlushLogBuffersOnVerify, false, \
229 "Forces flushing of log buffers before verification.") \
230 \
231 develop(bool, G1FailOnFPError, false, \
232 "When set, G1 will fail when it encounters an FP 'error', " \
233 "so as to allow debugging") \
234 \
235 product(size_t, G1HeapRegionSize, 0, \
236 "Size of the G1 regions.") \
237 range(0, 32*M) \
238 constraint(G1HeapRegionSizeConstraintFunc,AfterMemoryInit) \
239 \
240 product(uintx, G1ConcRefinementThreads, 0, \
241 "If non-0 is the number of parallel rem set update threads, " \
242 "otherwise the value is determined ergonomically.") \
243 range(0, (max_jint-1)/4) \
244 \
245 develop(bool, G1VerifyCTCleanup, false, \
246 "Verify card table cleanup.") \
247 \
248 product(size_t, G1RSetScanBlockSize, 64, \
249 "Size of a work unit of cards claimed by a worker thread" \
250 "during RSet scanning.") \
251 range(1, max_uintx) \
252 \
253 develop(uintx, G1SecondaryFreeListAppendLength, 5, \
254 "The number of regions we will add to the secondary free list " \
255 "at every append operation") \
256 \
257 develop(bool, G1ConcRegionFreeingVerbose, false, \
258 "Enables verboseness during concurrent region freeing") \
259 \
260 develop(bool, G1StressConcRegionFreeing, false, \
261 "It stresses the concurrent region freeing operation") \
262 \
263 develop(uintx, G1StressConcRegionFreeingDelayMillis, 0, \
|