283 "going to a Full GC.") \
284 \
285 experimental(bool, ShenandoahImplicitGCInvokesConcurrent, false, \
286 "Should internally-caused GC requests invoke concurrent cycles, " \
287 "should they do the stop-the-world (Degenerated / Full GC)? " \
288 "Many heuristics automatically enable this. This option is " \
289 "similar to global ExplicitGCInvokesConcurrent.") \
290 \
291 diagnostic(bool, ShenandoahHumongousMoves, true, \
292 "Allow moving humongous regions. This makes GC more resistant " \
293 "to external fragmentation that may otherwise fail other " \
294 "humongous allocations, at the expense of higher GC copying " \
295 "costs. Currently affects stop-the-world (Full) cycle only.") \
296 \
297 diagnostic(bool, ShenandoahOOMDuringEvacALot, false, \
298 "Testing: simulate OOM during evacuation.") \
299 \
300 diagnostic(bool, ShenandoahAllocFailureALot, false, \
301 "Testing: make lots of artificial allocation failures.") \
302 \
303 diagnostic(bool, ShenandoahAlwaysPreTouch, false, \
304 "Pre-touch heap memory, overrides global AlwaysPreTouch.") \
305 \
306 experimental(intx, ShenandoahMarkScanPrefetch, 32, \
307 "How many objects to prefetch ahead when traversing mark bitmaps."\
308 "Set to 0 to disable prefetching.") \
309 range(0, 256) \
310 \
311 experimental(uintx, ShenandoahMarkLoopStride, 1000, \
312 "How many items to process during one marking iteration before " \
313 "checking for cancellation, yielding, etc. Larger values improve "\
314 "marking performance at expense of responsiveness.") \
315 \
316 experimental(uintx, ShenandoahParallelRegionStride, 1024, \
317 "How many regions to process at once during parallel region " \
318 "iteration. Affects heaps with lots of regions.") \
319 \
320 experimental(size_t, ShenandoahSATBBufferSize, 1 * K, \
321 "Number of entries in an SATB log buffer.") \
322 range(1, max_uintx) \
323 \
324 experimental(uintx, ShenandoahSATBBufferFlushInterval, 100, \
325 "Forcefully flush non-empty SATB buffers at this interval. " \
|
283 "going to a Full GC.") \
284 \
285 experimental(bool, ShenandoahImplicitGCInvokesConcurrent, false, \
286 "Should internally-caused GC requests invoke concurrent cycles, " \
287 "should they do the stop-the-world (Degenerated / Full GC)? " \
288 "Many heuristics automatically enable this. This option is " \
289 "similar to global ExplicitGCInvokesConcurrent.") \
290 \
291 diagnostic(bool, ShenandoahHumongousMoves, true, \
292 "Allow moving humongous regions. This makes GC more resistant " \
293 "to external fragmentation that may otherwise fail other " \
294 "humongous allocations, at the expense of higher GC copying " \
295 "costs. Currently affects stop-the-world (Full) cycle only.") \
296 \
297 diagnostic(bool, ShenandoahOOMDuringEvacALot, false, \
298 "Testing: simulate OOM during evacuation.") \
299 \
300 diagnostic(bool, ShenandoahAllocFailureALot, false, \
301 "Testing: make lots of artificial allocation failures.") \
302 \
303 experimental(intx, ShenandoahMarkScanPrefetch, 32, \
304 "How many objects to prefetch ahead when traversing mark bitmaps."\
305 "Set to 0 to disable prefetching.") \
306 range(0, 256) \
307 \
308 experimental(uintx, ShenandoahMarkLoopStride, 1000, \
309 "How many items to process during one marking iteration before " \
310 "checking for cancellation, yielding, etc. Larger values improve "\
311 "marking performance at expense of responsiveness.") \
312 \
313 experimental(uintx, ShenandoahParallelRegionStride, 1024, \
314 "How many regions to process at once during parallel region " \
315 "iteration. Affects heaps with lots of regions.") \
316 \
317 experimental(size_t, ShenandoahSATBBufferSize, 1 * K, \
318 "Number of entries in an SATB log buffer.") \
319 range(1, max_uintx) \
320 \
321 experimental(uintx, ShenandoahSATBBufferFlushInterval, 100, \
322 "Forcefully flush non-empty SATB buffers at this interval. " \
|