< prev index next >

src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp

Print this page

  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")    \
< prev index next >