1 /*
2 * Copyright (c) 2020, 2025, Oracle and/or its affiliates. All rights reserved.
3 * Copyright (c) 2016, 2021, Red Hat, Inc. All rights reserved.
4 * Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
5 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
6 *
7 * This code is free software; you can redistribute it and/or modify it
8 * under the terms of the GNU General Public License version 2 only, as
9 * published by the Free Software Foundation.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
535 product(uintx, ShenandoahMaxSATBBufferFlushes, 5, EXPERIMENTAL, \
536 "How many times to maximum attempt to flush SATB buffers at the " \
537 "end of concurrent marking.") \
538 \
539 product(bool, ShenandoahSATBBarrier, true, DIAGNOSTIC, \
540 "Turn on/off SATB barriers in Shenandoah") \
541 \
542 product(bool, ShenandoahCardBarrier, false, DIAGNOSTIC, \
543 "Turn on/off card-marking post-write barrier in Shenandoah: " \
544 " true when ShenandoahGCMode is generational, false otherwise") \
545 \
546 product(bool, ShenandoahCASBarrier, true, DIAGNOSTIC, \
547 "Turn on/off CAS barriers in Shenandoah") \
548 \
549 product(bool, ShenandoahCloneBarrier, true, DIAGNOSTIC, \
550 "Turn on/off clone barriers in Shenandoah") \
551 \
552 product(bool, ShenandoahLoadRefBarrier, true, DIAGNOSTIC, \
553 "Turn on/off load-reference barriers in Shenandoah") \
554 \
555 develop(bool, ShenandoahVerifyOptoBarriers, trueInDebug, \
556 "Verify no missing barriers in C2.") \
557 \
558 product(uintx, ShenandoahOldCompactionReserve, 8, EXPERIMENTAL, \
559 "During generational GC, prevent promotions from filling " \
560 "this number of heap regions. These regions are reserved " \
561 "for the purpose of supporting compaction of old-gen " \
562 "memory. Otherwise, old-gen memory cannot be compacted.") \
563 range(0, 128) \
564 \
565 product(bool, ShenandoahAllowOldMarkingPreemption, true, DIAGNOSTIC, \
566 "Allow young generation collections to suspend concurrent" \
567 " marking in the old generation.") \
568 \
569 product(uintx, ShenandoahAgingCyclePeriod, 1, EXPERIMENTAL, \
570 "With generational mode, increment the age of objects and" \
571 "regions each time this many young-gen GC cycles are completed.") \
572 \
573 develop(bool, ShenandoahEnableCardStats, false, \
574 "Enable statistics collection related to clean & dirty cards") \
|
1 /*
2 * Copyright (c) 2020, 2026, Oracle and/or its affiliates. All rights reserved.
3 * Copyright (c) 2016, 2021, Red Hat, Inc. All rights reserved.
4 * Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
5 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
6 *
7 * This code is free software; you can redistribute it and/or modify it
8 * under the terms of the GNU General Public License version 2 only, as
9 * published by the Free Software Foundation.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
535 product(uintx, ShenandoahMaxSATBBufferFlushes, 5, EXPERIMENTAL, \
536 "How many times to maximum attempt to flush SATB buffers at the " \
537 "end of concurrent marking.") \
538 \
539 product(bool, ShenandoahSATBBarrier, true, DIAGNOSTIC, \
540 "Turn on/off SATB barriers in Shenandoah") \
541 \
542 product(bool, ShenandoahCardBarrier, false, DIAGNOSTIC, \
543 "Turn on/off card-marking post-write barrier in Shenandoah: " \
544 " true when ShenandoahGCMode is generational, false otherwise") \
545 \
546 product(bool, ShenandoahCASBarrier, true, DIAGNOSTIC, \
547 "Turn on/off CAS barriers in Shenandoah") \
548 \
549 product(bool, ShenandoahCloneBarrier, true, DIAGNOSTIC, \
550 "Turn on/off clone barriers in Shenandoah") \
551 \
552 product(bool, ShenandoahLoadRefBarrier, true, DIAGNOSTIC, \
553 "Turn on/off load-reference barriers in Shenandoah") \
554 \
555 product(bool, ShenandoahCloneRuntime, false, DIAGNOSTIC, \
556 "Handle clone in runtime instead of in copy stubs.") \
557 \
558 product(bool, ShenandoahElideIdealBarriers, true, DIAGNOSTIC, \
559 "Elide redundant Shenandoah barriers on C2 Ideal level.") \
560 \
561 product(bool, ShenandoahElideMachBarriers, true, DIAGNOSTIC, \
562 "Elide redundant Shenandoah barriers on C2 Mach level.") \
563 \
564 develop(bool, ShenandoahVerifyOptoBarriers, trueInDebug, \
565 "Verify no missing barriers in C2.") \
566 \
567 product(uintx, ShenandoahOldCompactionReserve, 8, EXPERIMENTAL, \
568 "During generational GC, prevent promotions from filling " \
569 "this number of heap regions. These regions are reserved " \
570 "for the purpose of supporting compaction of old-gen " \
571 "memory. Otherwise, old-gen memory cannot be compacted.") \
572 range(0, 128) \
573 \
574 product(bool, ShenandoahAllowOldMarkingPreemption, true, DIAGNOSTIC, \
575 "Allow young generation collections to suspend concurrent" \
576 " marking in the old generation.") \
577 \
578 product(uintx, ShenandoahAgingCyclePeriod, 1, EXPERIMENTAL, \
579 "With generational mode, increment the age of objects and" \
580 "regions each time this many young-gen GC cycles are completed.") \
581 \
582 develop(bool, ShenandoahEnableCardStats, false, \
583 "Enable statistics collection related to clean & dirty cards") \
|