< 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 "utilities/macros.hpp"
  29 #if INCLUDE_CMSGC
  30 #include "gc/cms/cms_globals.hpp"
  31 #endif



  32 #if INCLUDE_G1GC
  33 #include "gc/g1/g1_globals.hpp"
  34 #endif
  35 #if INCLUDE_PARALLELGC
  36 #include "gc/parallel/parallel_globals.hpp"
  37 #endif
  38 #if INCLUDE_SERIALGC
  39 #include "gc/serial/serial_globals.hpp"
  40 #endif
  41 
  42 #define GC_FLAGS(develop,                                                   \
  43                  develop_pd,                                                \
  44                  product,                                                   \
  45                  product_pd,                                                \
  46                  diagnostic,                                                \
  47                  diagnostic_pd,                                             \
  48                  experimental,                                              \
  49                  notproduct,                                                \
  50                  manageable,                                                \
  51                  product_rw,                                                \


  53                  range,                                                     \
  54                  constraint,                                                \
  55                  writeable)                                                 \
  56                                                                             \
  57   CMSGC_ONLY(GC_CMS_FLAGS(                                                  \
  58     develop,                                                                \
  59     develop_pd,                                                             \
  60     product,                                                                \
  61     product_pd,                                                             \
  62     diagnostic,                                                             \
  63     diagnostic_pd,                                                          \
  64     experimental,                                                           \
  65     notproduct,                                                             \
  66     manageable,                                                             \
  67     product_rw,                                                             \
  68     lp64_product,                                                           \
  69     range,                                                                  \
  70     constraint,                                                             \
  71     writeable))                                                             \
  72                                                                             \
















  73   G1GC_ONLY(GC_G1_FLAGS(                                                    \
  74     develop,                                                                \
  75     develop_pd,                                                             \
  76     product,                                                                \
  77     product_pd,                                                             \
  78     diagnostic,                                                             \
  79     diagnostic_pd,                                                          \
  80     experimental,                                                           \
  81     notproduct,                                                             \
  82     manageable,                                                             \
  83     product_rw,                                                             \
  84     lp64_product,                                                           \
  85     range,                                                                  \
  86     constraint,                                                             \
  87     writeable))                                                             \
  88                                                                             \
  89   PARALLELGC_ONLY(GC_PARALLEL_FLAGS(                                        \
  90     develop,                                                                \
  91     develop_pd,                                                             \
  92     product,                                                                \


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



 137                                                                             \
 138   product(uint, ParallelGCThreads, 0,                                       \
 139           "Number of parallel threads parallel gc will use")                \
 140           constraint(ParallelGCThreadsConstraintFunc,AfterErgo)             \
 141                                                                             \
 142   diagnostic(bool, UseSemaphoreGCThreadsSynchronization, true,              \
 143             "Use semaphore synchronization for the GC Threads, "            \
 144             "instead of synchronization based on mutexes")                  \
 145                                                                             \
 146   product(bool, UseDynamicNumberOfGCThreads, true,                          \
 147           "Dynamically choose the number of threads up to a maximum of "    \
 148           "ParallelGCThreads parallel collectors will use for garbage "     \
 149           "collection work")                                                \
 150                                                                             \
 151   diagnostic(bool, InjectGCWorkerCreationFailure, false,                    \
 152              "Inject thread creation failures for "                         \
 153              "UseDynamicNumberOfGCThreads")                                 \
 154                                                                             \
 155   diagnostic(bool, ForceDynamicNumberOfGCThreads, false,                    \
 156           "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 "utilities/macros.hpp"
  29 #if INCLUDE_CMSGC
  30 #include "gc/cms/cms_globals.hpp"
  31 #endif
  32 #if INCLUDE_EPSILONGC
  33 #include "gc/epsilon/epsilon_globals.hpp"
  34 #endif
  35 #if INCLUDE_G1GC
  36 #include "gc/g1/g1_globals.hpp"
  37 #endif
  38 #if INCLUDE_PARALLELGC
  39 #include "gc/parallel/parallel_globals.hpp"
  40 #endif
  41 #if INCLUDE_SERIALGC
  42 #include "gc/serial/serial_globals.hpp"
  43 #endif
  44 
  45 #define GC_FLAGS(develop,                                                   \
  46                  develop_pd,                                                \
  47                  product,                                                   \
  48                  product_pd,                                                \
  49                  diagnostic,                                                \
  50                  diagnostic_pd,                                             \
  51                  experimental,                                              \
  52                  notproduct,                                                \
  53                  manageable,                                                \
  54                  product_rw,                                                \


  56                  range,                                                     \
  57                  constraint,                                                \
  58                  writeable)                                                 \
  59                                                                             \
  60   CMSGC_ONLY(GC_CMS_FLAGS(                                                  \
  61     develop,                                                                \
  62     develop_pd,                                                             \
  63     product,                                                                \
  64     product_pd,                                                             \
  65     diagnostic,                                                             \
  66     diagnostic_pd,                                                          \
  67     experimental,                                                           \
  68     notproduct,                                                             \
  69     manageable,                                                             \
  70     product_rw,                                                             \
  71     lp64_product,                                                           \
  72     range,                                                                  \
  73     constraint,                                                             \
  74     writeable))                                                             \
  75                                                                             \
  76   EPSILONGC_ONLY(GC_EPSILON_FLAGS(                                          \
  77     develop,                                                                \
  78     develop_pd,                                                             \
  79     product,                                                                \
  80     product_pd,                                                             \
  81     diagnostic,                                                             \
  82     diagnostic_pd,                                                          \
  83     experimental,                                                           \
  84     notproduct,                                                             \
  85     manageable,                                                             \
  86     product_rw,                                                             \
  87     lp64_product,                                                           \
  88     range,                                                                  \
  89     constraint,                                                             \
  90     writeable))                                                             \
  91                                                                             \
  92   G1GC_ONLY(GC_G1_FLAGS(                                                    \
  93     develop,                                                                \
  94     develop_pd,                                                             \
  95     product,                                                                \
  96     product_pd,                                                             \
  97     diagnostic,                                                             \
  98     diagnostic_pd,                                                          \
  99     experimental,                                                           \
 100     notproduct,                                                             \
 101     manageable,                                                             \
 102     product_rw,                                                             \
 103     lp64_product,                                                           \
 104     range,                                                                  \
 105     constraint,                                                             \
 106     writeable))                                                             \
 107                                                                             \
 108   PARALLELGC_ONLY(GC_PARALLEL_FLAGS(                                        \
 109     develop,                                                                \
 110     develop_pd,                                                             \
 111     product,                                                                \


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


< prev index next >