< prev index next >

src/hotspot/share/gc/shared/gc_globals.hpp

Print this page




  12  * version 2 for more details (a copy is included in the LICENSE file that
  13  * accompanied this code).
  14  *
  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *
  23  */
  24 
  25 #ifndef SHARE_GC_SHARED_GC_GLOBALS_HPP
  26 #define SHARE_GC_SHARED_GC_GLOBALS_HPP
  27 
  28 #include "gc/serial/serial_globals.hpp"
  29 #include "utilities/macros.hpp"
  30 #if INCLUDE_ALL_GCS
  31 #include "gc/cms/cms_globals.hpp"

  32 #include "gc/g1/g1_globals.hpp"
  33 #include "gc/parallel/parallel_globals.hpp"
  34 #endif
  35 
  36 #define GC_FLAGS(develop,                                                   \
  37                  develop_pd,                                                \
  38                  product,                                                   \
  39                  product_pd,                                                \
  40                  diagnostic,                                                \
  41                  diagnostic_pd,                                             \
  42                  experimental,                                              \
  43                  notproduct,                                                \
  44                  manageable,                                                \
  45                  product_rw,                                                \
  46                  lp64_product,                                              \
  47                  range,                                                     \
  48                  constraint,                                                \
  49                  writeable)                                                 \
  50                                                                             \
  51   ALL_GCS_ONLY(GC_CMS_FLAGS(                                                \
  52     develop,                                                                \
  53     develop_pd,                                                             \
  54     product,                                                                \
  55     product_pd,                                                             \
  56     diagnostic,                                                             \
  57     diagnostic_pd,                                                          \
  58     experimental,                                                           \
  59     notproduct,                                                             \
  60     manageable,                                                             \
  61     product_rw,                                                             \
  62     lp64_product,                                                           \
  63     range,                                                                  \
  64     constraint,                                                             \
  65     writeable))                                                             \
  66                                                                             \
















  67   ALL_GCS_ONLY(GC_G1_FLAGS(                                                 \
  68     develop,                                                                \
  69     develop_pd,                                                             \
  70     product,                                                                \
  71     product_pd,                                                             \
  72     diagnostic,                                                             \
  73     diagnostic_pd,                                                          \
  74     experimental,                                                           \
  75     notproduct,                                                             \
  76     manageable,                                                             \
  77     product_rw,                                                             \
  78     lp64_product,                                                           \
  79     range,                                                                  \
  80     constraint,                                                             \
  81     writeable))                                                             \
  82                                                                             \
  83   ALL_GCS_ONLY(GC_PARALLEL_FLAGS(                                           \
  84     develop,                                                                \
  85     develop_pd,                                                             \
  86     product,                                                                \


 111     range,                                                                  \
 112     constraint,                                                             \
 113     writeable)                                                              \
 114                                                                             \
 115   /* gc */                                                                  \
 116                                                                             \
 117   product(bool, UseConcMarkSweepGC, false,                                  \
 118           "Use Concurrent Mark-Sweep GC in the old generation")             \
 119                                                                             \
 120   product(bool, UseSerialGC, false,                                         \
 121           "Use the Serial garbage collector")                               \
 122                                                                             \
 123   product(bool, UseG1GC, false,                                             \
 124           "Use the Garbage-First garbage collector")                        \
 125                                                                             \
 126   product(bool, UseParallelGC, false,                                       \
 127           "Use the Parallel Scavenge garbage collector")                    \
 128                                                                             \
 129   product(bool, UseParallelOldGC, false,                                    \
 130           "Use the Parallel Old garbage collector")                         \



 131                                                                             \
 132   product(uint, ParallelGCThreads, 0,                                       \
 133           "Number of parallel threads parallel gc will use")                \
 134           constraint(ParallelGCThreadsConstraintFunc,AfterErgo)             \
 135                                                                             \
 136   diagnostic(bool, UseSemaphoreGCThreadsSynchronization, true,              \
 137             "Use semaphore synchronization for the GC Threads, "            \
 138             "instead of synchronization based on mutexes")                  \
 139                                                                             \
 140   product(bool, UseDynamicNumberOfGCThreads, true,                          \
 141           "Dynamically choose the number of threads up to a maximum of "    \
 142           "ParallelGCThreads parallel collectors will use for garbage "     \
 143           "collection work")                                                \
 144                                                                             \
 145   diagnostic(bool, InjectGCWorkerCreationFailure, false,                    \
 146              "Inject thread creation failures for "                         \
 147              "UseDynamicNumberOfGCThreads")                                 \
 148                                                                             \
 149   diagnostic(bool, ForceDynamicNumberOfGCThreads, false,                    \
 150           "Force dynamic selection of the number of "                       \




  12  * version 2 for more details (a copy is included in the LICENSE file that
  13  * accompanied this code).
  14  *
  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *
  23  */
  24 
  25 #ifndef SHARE_GC_SHARED_GC_GLOBALS_HPP
  26 #define SHARE_GC_SHARED_GC_GLOBALS_HPP
  27 
  28 #include "gc/serial/serial_globals.hpp"
  29 #include "utilities/macros.hpp"
  30 #if INCLUDE_ALL_GCS
  31 #include "gc/cms/cms_globals.hpp"
  32 #include "gc/epsilon/epsilon_globals.hpp"
  33 #include "gc/g1/g1_globals.hpp"
  34 #include "gc/parallel/parallel_globals.hpp"
  35 #endif
  36 
  37 #define GC_FLAGS(develop,                                                   \
  38                  develop_pd,                                                \
  39                  product,                                                   \
  40                  product_pd,                                                \
  41                  diagnostic,                                                \
  42                  diagnostic_pd,                                             \
  43                  experimental,                                              \
  44                  notproduct,                                                \
  45                  manageable,                                                \
  46                  product_rw,                                                \
  47                  lp64_product,                                              \
  48                  range,                                                     \
  49                  constraint,                                                \
  50                  writeable)                                                 \
  51                                                                             \
  52   ALL_GCS_ONLY(GC_CMS_FLAGS(                                                \
  53     develop,                                                                \
  54     develop_pd,                                                             \
  55     product,                                                                \
  56     product_pd,                                                             \
  57     diagnostic,                                                             \
  58     diagnostic_pd,                                                          \
  59     experimental,                                                           \
  60     notproduct,                                                             \
  61     manageable,                                                             \
  62     product_rw,                                                             \
  63     lp64_product,                                                           \
  64     range,                                                                  \
  65     constraint,                                                             \
  66     writeable))                                                             \
  67                                                                             \
  68   ALL_GCS_ONLY(GC_EPSILON_FLAGS(                                            \
  69     develop,                                                                \
  70     develop_pd,                                                             \
  71     product,                                                                \
  72     product_pd,                                                             \
  73     diagnostic,                                                             \
  74     diagnostic_pd,                                                          \
  75     experimental,                                                           \
  76     notproduct,                                                             \
  77     manageable,                                                             \
  78     product_rw,                                                             \
  79     lp64_product,                                                           \
  80     range,                                                                  \
  81     constraint,                                                             \
  82     writeable))                                                             \
  83                                                                             \
  84   ALL_GCS_ONLY(GC_G1_FLAGS(                                                 \
  85     develop,                                                                \
  86     develop_pd,                                                             \
  87     product,                                                                \
  88     product_pd,                                                             \
  89     diagnostic,                                                             \
  90     diagnostic_pd,                                                          \
  91     experimental,                                                           \
  92     notproduct,                                                             \
  93     manageable,                                                             \
  94     product_rw,                                                             \
  95     lp64_product,                                                           \
  96     range,                                                                  \
  97     constraint,                                                             \
  98     writeable))                                                             \
  99                                                                             \
 100   ALL_GCS_ONLY(GC_PARALLEL_FLAGS(                                           \
 101     develop,                                                                \
 102     develop_pd,                                                             \
 103     product,                                                                \


 128     range,                                                                  \
 129     constraint,                                                             \
 130     writeable)                                                              \
 131                                                                             \
 132   /* gc */                                                                  \
 133                                                                             \
 134   product(bool, UseConcMarkSweepGC, false,                                  \
 135           "Use Concurrent Mark-Sweep GC in the old generation")             \
 136                                                                             \
 137   product(bool, UseSerialGC, false,                                         \
 138           "Use the Serial garbage collector")                               \
 139                                                                             \
 140   product(bool, UseG1GC, false,                                             \
 141           "Use the Garbage-First garbage collector")                        \
 142                                                                             \
 143   product(bool, UseParallelGC, false,                                       \
 144           "Use the Parallel Scavenge garbage collector")                    \
 145                                                                             \
 146   product(bool, UseParallelOldGC, false,                                    \
 147           "Use the Parallel Old garbage collector")                         \
 148                                                                             \
 149   experimental(bool, UseEpsilonGC, false,                                   \
 150           "Use the Epsilon (no-op) garbage collector")                      \
 151                                                                             \
 152   product(uint, ParallelGCThreads, 0,                                       \
 153           "Number of parallel threads parallel gc will use")                \
 154           constraint(ParallelGCThreadsConstraintFunc,AfterErgo)             \
 155                                                                             \
 156   diagnostic(bool, UseSemaphoreGCThreadsSynchronization, true,              \
 157             "Use semaphore synchronization for the GC Threads, "            \
 158             "instead of synchronization based on mutexes")                  \
 159                                                                             \
 160   product(bool, UseDynamicNumberOfGCThreads, true,                          \
 161           "Dynamically choose the number of threads up to a maximum of "    \
 162           "ParallelGCThreads parallel collectors will use for garbage "     \
 163           "collection work")                                                \
 164                                                                             \
 165   diagnostic(bool, InjectGCWorkerCreationFailure, false,                    \
 166              "Inject thread creation failures for "                         \
 167              "UseDynamicNumberOfGCThreads")                                 \
 168                                                                             \
 169   diagnostic(bool, ForceDynamicNumberOfGCThreads, false,                    \
 170           "Force dynamic selection of the number of "                       \


< prev index next >