328 "pause.") \
329 \
330 experimental(bool, ShenandoahSuspendibleWorkers, false, \
331 "Suspend concurrent GC worker threads at safepoints") \
332 \
333 diagnostic(bool, ShenandoahSATBBarrier, true, \
334 "Turn on/off SATB barriers in Shenandoah") \
335 \
336 diagnostic(bool, ShenandoahStoreValEnqueueBarrier, false, \
337 "Turn on/off enqueuing of oops for storeval barriers") \
338 \
339 diagnostic(bool, ShenandoahCASBarrier, true, \
340 "Turn on/off CAS barriers in Shenandoah") \
341 \
342 diagnostic(bool, ShenandoahCloneBarrier, true, \
343 "Turn on/off clone barriers in Shenandoah") \
344 \
345 diagnostic(bool, ShenandoahLoadRefBarrier, true, \
346 "Turn on/off load-reference barriers in Shenandoah") \
347 \
348 diagnostic(bool, ShenandoahConcurrentScanCodeRoots, true, \
349 "Scan code roots concurrently, instead of during a pause") \
350 \
351 diagnostic(uintx, ShenandoahCodeRootsStyle, 2, \
352 "Use this style to scan the code cache roots:" \
353 " 0 - sequential iterator;" \
354 " 1 - parallel iterator;" \
355 " 2 - parallel iterator with cset filters;") \
356 \
357 diagnostic(bool, ShenandoahOptimizeStaticFinals, true, \
358 "Optimize barriers on static final fields. " \
359 "Turn it off for maximum compatibility with reflection or JNI " \
360 "code that manipulates final fields.") \
361 \
362 develop(bool, ShenandoahVerifyOptoBarriers, false, \
363 "Verify no missing barriers in C2.") \
364 \
365 diagnostic(bool, ShenandoahLoopOptsAfterExpansion, true, \
366 "Attempt more loop opts after barrier expansion.") \
367 \
368 diagnostic(bool, ShenandoahSelfFixing, true, \
369 "Fix references with load reference barrier. Disabling this " \
370 "might degrade performance.") \
|
328 "pause.") \
329 \
330 experimental(bool, ShenandoahSuspendibleWorkers, false, \
331 "Suspend concurrent GC worker threads at safepoints") \
332 \
333 diagnostic(bool, ShenandoahSATBBarrier, true, \
334 "Turn on/off SATB barriers in Shenandoah") \
335 \
336 diagnostic(bool, ShenandoahStoreValEnqueueBarrier, false, \
337 "Turn on/off enqueuing of oops for storeval barriers") \
338 \
339 diagnostic(bool, ShenandoahCASBarrier, true, \
340 "Turn on/off CAS barriers in Shenandoah") \
341 \
342 diagnostic(bool, ShenandoahCloneBarrier, true, \
343 "Turn on/off clone barriers in Shenandoah") \
344 \
345 diagnostic(bool, ShenandoahLoadRefBarrier, true, \
346 "Turn on/off load-reference barriers in Shenandoah") \
347 \
348 diagnostic(uintx, ShenandoahCodeRootsStyle, 2, \
349 "Use this style to scan the code cache roots:" \
350 " 0 - sequential iterator;" \
351 " 1 - parallel iterator;" \
352 " 2 - parallel iterator with cset filters;") \
353 \
354 diagnostic(bool, ShenandoahOptimizeStaticFinals, true, \
355 "Optimize barriers on static final fields. " \
356 "Turn it off for maximum compatibility with reflection or JNI " \
357 "code that manipulates final fields.") \
358 \
359 develop(bool, ShenandoahVerifyOptoBarriers, false, \
360 "Verify no missing barriers in C2.") \
361 \
362 diagnostic(bool, ShenandoahLoopOptsAfterExpansion, true, \
363 "Attempt more loop opts after barrier expansion.") \
364 \
365 diagnostic(bool, ShenandoahSelfFixing, true, \
366 "Fix references with load reference barrier. Disabling this " \
367 "might degrade performance.") \
|