497 \
498 product(bool, ShenandoahSATBBarrier, true, DIAGNOSTIC, \
499 "Turn on/off SATB barriers in Shenandoah") \
500 \
501 product(bool, ShenandoahCardBarrier, false, DIAGNOSTIC, \
502 "Turn on/off card-marking post-write barrier in Shenandoah: " \
503 " true when ShenandoahGCMode is generational, false otherwise") \
504 \
505 product(bool, ShenandoahCASBarrier, true, DIAGNOSTIC, \
506 "Turn on/off CAS barriers in Shenandoah") \
507 \
508 product(bool, ShenandoahCloneBarrier, true, DIAGNOSTIC, \
509 "Turn on/off clone barriers in Shenandoah") \
510 \
511 product(bool, ShenandoahLoadRefBarrier, true, DIAGNOSTIC, \
512 "Turn on/off load-reference barriers in Shenandoah") \
513 \
514 product(bool, ShenandoahStackWatermarkBarrier, true, DIAGNOSTIC, \
515 "Turn on/off stack watermark barriers in Shenandoah") \
516 \
517 develop(bool, ShenandoahVerifyOptoBarriers, trueInDebug, \
518 "Verify no missing barriers in C2.") \
519 \
520 product(uintx, ShenandoahOldCompactionReserve, 8, EXPERIMENTAL, \
521 "During generational GC, prevent promotions from filling " \
522 "this number of heap regions. These regions are reserved " \
523 "for the purpose of supporting compaction of old-gen " \
524 "memory. Otherwise, old-gen memory cannot be compacted.") \
525 range(0, 128) \
526 \
527 product(bool, ShenandoahAllowOldMarkingPreemption, true, DIAGNOSTIC, \
528 "Allow young generation collections to suspend concurrent" \
529 " marking in the old generation.") \
530 \
531 product(uintx, ShenandoahAgingCyclePeriod, 1, EXPERIMENTAL, \
532 "With generational mode, increment the age of objects and" \
533 "regions each time this many young-gen GC cycles are completed.") \
534 \
535 develop(bool, ShenandoahEnableCardStats, false, \
536 "Enable statistics collection related to clean & dirty cards") \
|
497 \
498 product(bool, ShenandoahSATBBarrier, true, DIAGNOSTIC, \
499 "Turn on/off SATB barriers in Shenandoah") \
500 \
501 product(bool, ShenandoahCardBarrier, false, DIAGNOSTIC, \
502 "Turn on/off card-marking post-write barrier in Shenandoah: " \
503 " true when ShenandoahGCMode is generational, false otherwise") \
504 \
505 product(bool, ShenandoahCASBarrier, true, DIAGNOSTIC, \
506 "Turn on/off CAS barriers in Shenandoah") \
507 \
508 product(bool, ShenandoahCloneBarrier, true, DIAGNOSTIC, \
509 "Turn on/off clone barriers in Shenandoah") \
510 \
511 product(bool, ShenandoahLoadRefBarrier, true, DIAGNOSTIC, \
512 "Turn on/off load-reference barriers in Shenandoah") \
513 \
514 product(bool, ShenandoahStackWatermarkBarrier, true, DIAGNOSTIC, \
515 "Turn on/off stack watermark barriers in Shenandoah") \
516 \
517 product(bool, ShenandoahCloneRuntime, false, DIAGNOSTIC, \
518 "Handle clone in runtime instead of in copy stubs.") \
519 \
520 product(bool, ShenandoahGCStateCheckHotpatch, false, EXPERIMENTAL, \
521 "DANGEROUS, USE ONLY WITH PASSIVE MODE: Replace GC state checks " \
522 "with hot-patchable sequence in barrier fast-paths. Measures " \
523 "potential improvement from GC state hot-patching.") \
524 \
525 product(bool, ShenandoahGCStateCheckRemove, false, EXPERIMENTAL, \
526 "DANGEROUS, USE ONLY WITH PASSIVE MODE: Remove GC state checks " \
527 "in barrier fast-paths. Measures code density impact from GC " \
528 "state checks.") \
529 \
530 product(bool, ShenandoahSkipBarriers, false, EXPERIMENTAL, \
531 "DANGEROUS, USE ONLY WITH PASSIVE MODE: Skip all barriers after " \
532 "expansion. Measures code density impact from additional code " \
533 "at both fast- and slow-paths.") \
534 \
535 develop(bool, ShenandoahVerifyOptoBarriers, trueInDebug, \
536 "Verify no missing barriers in C2.") \
537 \
538 product(uintx, ShenandoahOldCompactionReserve, 8, EXPERIMENTAL, \
539 "During generational GC, prevent promotions from filling " \
540 "this number of heap regions. These regions are reserved " \
541 "for the purpose of supporting compaction of old-gen " \
542 "memory. Otherwise, old-gen memory cannot be compacted.") \
543 range(0, 128) \
544 \
545 product(bool, ShenandoahAllowOldMarkingPreemption, true, DIAGNOSTIC, \
546 "Allow young generation collections to suspend concurrent" \
547 " marking in the old generation.") \
548 \
549 product(uintx, ShenandoahAgingCyclePeriod, 1, EXPERIMENTAL, \
550 "With generational mode, increment the age of objects and" \
551 "regions each time this many young-gen GC cycles are completed.") \
552 \
553 develop(bool, ShenandoahEnableCardStats, false, \
554 "Enable statistics collection related to clean & dirty cards") \
|