322 \
323 experimental(size_t, ShenandoahSATBBufferSize, 1 * K, \
324 "Number of entries in an SATB log buffer.") \
325 range(1, max_uintx) \
326 \
327 experimental(uintx, ShenandoahSATBBufferFlushInterval, 100, \
328 "Forcefully flush non-empty SATB buffers at this interval. " \
329 "Time is in milliseconds.") \
330 \
331 diagnostic(bool, ShenandoahPreclean, true, \
332 "Do concurrent preclean phase before final mark: process " \
333 "definitely alive references to avoid dealing with them during " \
334 "pause.") \
335 \
336 experimental(bool, ShenandoahSuspendibleWorkers, false, \
337 "Suspend concurrent GC worker threads at safepoints") \
338 \
339 diagnostic(bool, ShenandoahSATBBarrier, true, \
340 "Turn on/off SATB barriers in Shenandoah") \
341 \
342 diagnostic(bool, ShenandoahKeepAliveBarrier, true, \
343 "Turn on/off keep alive barriers in Shenandoah") \
344 \
345 diagnostic(bool, ShenandoahStoreValEnqueueBarrier, false, \
346 "Turn on/off enqueuing of oops for storeval barriers") \
347 \
348 diagnostic(bool, ShenandoahCASBarrier, true, \
349 "Turn on/off CAS barriers in Shenandoah") \
350 \
351 diagnostic(bool, ShenandoahCloneBarrier, true, \
352 "Turn on/off clone barriers in Shenandoah") \
353 \
354 diagnostic(bool, ShenandoahLoadRefBarrier, true, \
355 "Turn on/off load-reference barriers in Shenandoah") \
356 \
357 diagnostic(bool, ShenandoahConcurrentScanCodeRoots, true, \
358 "Scan code roots concurrently, instead of during a pause") \
359 \
360 diagnostic(uintx, ShenandoahCodeRootsStyle, 2, \
361 "Use this style to scan the code cache roots:" \
362 " 0 - sequential iterator;" \
363 " 1 - parallel iterator;" \
364 " 2 - parallel iterator with cset filters;") \
|
322 \
323 experimental(size_t, ShenandoahSATBBufferSize, 1 * K, \
324 "Number of entries in an SATB log buffer.") \
325 range(1, max_uintx) \
326 \
327 experimental(uintx, ShenandoahSATBBufferFlushInterval, 100, \
328 "Forcefully flush non-empty SATB buffers at this interval. " \
329 "Time is in milliseconds.") \
330 \
331 diagnostic(bool, ShenandoahPreclean, true, \
332 "Do concurrent preclean phase before final mark: process " \
333 "definitely alive references to avoid dealing with them during " \
334 "pause.") \
335 \
336 experimental(bool, ShenandoahSuspendibleWorkers, false, \
337 "Suspend concurrent GC worker threads at safepoints") \
338 \
339 diagnostic(bool, ShenandoahSATBBarrier, true, \
340 "Turn on/off SATB barriers in Shenandoah") \
341 \
342 diagnostic(bool, ShenandoahStoreValEnqueueBarrier, false, \
343 "Turn on/off enqueuing of oops for storeval barriers") \
344 \
345 diagnostic(bool, ShenandoahCASBarrier, true, \
346 "Turn on/off CAS barriers in Shenandoah") \
347 \
348 diagnostic(bool, ShenandoahCloneBarrier, true, \
349 "Turn on/off clone barriers in Shenandoah") \
350 \
351 diagnostic(bool, ShenandoahLoadRefBarrier, true, \
352 "Turn on/off load-reference barriers in Shenandoah") \
353 \
354 diagnostic(bool, ShenandoahConcurrentScanCodeRoots, true, \
355 "Scan code roots concurrently, instead of during a pause") \
356 \
357 diagnostic(uintx, ShenandoahCodeRootsStyle, 2, \
358 "Use this style to scan the code cache roots:" \
359 " 0 - sequential iterator;" \
360 " 1 - parallel iterator;" \
361 " 2 - parallel iterator with cset filters;") \
|