< prev index next >

src/share/vm/gc_implementation/shenandoah/shenandoah_globals.hpp

Print this page
rev 9705 : [backport] Implement early update references phase.


  55   experimental(uintx, ShenandoahMaxRegionSize, 32 * M,                      \
  56           "Maximum heap region size. ")                                     \
  57                                                                             \
  58   experimental(size_t, ShenandoahTargetNumRegions, 2048,                    \
  59           "Target number of regions. We try to get around that many "       \
  60           "regions, based on ShenandoahMinRegionSize and "                  \
  61           "ShenandoahMaxRegionSizeSize. ")                                  \
  62                                                                             \
  63   product(bool, UseShenandoahMatrix, false,                                 \
  64           "Keep a connection matrix and use this to drive collection sets") \
  65                                                                             \
  66   product(ccstr, ShenandoahGCHeuristics, "adaptive",                        \
  67           "The heuristics to use in Shenandoah GC. Possible values: "       \
  68           "adaptive (adapt to maintain the given amount of free memory), "  \
  69           "dynamic (start concurrent GC based on amount of free memory, "   \
  70           "allocation threshold, etc), "                                    \
  71           "passive (do not start concurrent GC, wait for Full GC) "         \
  72           "aggressive (run concurrent GC continuously, evacuate everything), " \
  73           "Defaults to adaptive")                                            \
  74                                                                             \




  75   product(uintx, ShenandoahRefProcFrequency, 5,                             \
  76           "How often should (weak, soft, etc) references be processed. "    \
  77           "References get processed at every Nth GC cycle. "                \
  78           "Set to 0 to disable reference processing. "                      \
  79           "Defaults to process references every 5 cycles.")                 \
  80                                                                             \
  81   product(uintx, ShenandoahUnloadClassesFrequency, 5,                       \
  82           "How often should classes get unloaded. "                         \
  83           "Class unloading is performed at every Nth GC cycle. "            \
  84           "Set to 0 to disable concurrent class unloading. "                \
  85           "Defaults to unload classes every 5 cycles.")                     \
  86                                                                             \
  87   product(bool, ShenandoahLogTrace, false,                                  \
  88           "Turns on logging in Shenandoah at trace level. ")                \
  89                                                                             \
  90   product(bool, ShenandoahLogDebug, false,                                  \
  91           "Turns on logging in Shenandoah at debug level. ")                \
  92                                                                             \
  93   product(bool, ShenandoahLogInfo, false,                                   \
  94           "Turns on logging in Shenandoah at info level. ")                 \


 104   product_rw(uintx, ShenandoahGarbageThreshold, 60,                         \
 105           "Sets the percentage of garbage a region need to contain before " \
 106           "it can be marked for collection. Applies to "                    \
 107           "Shenandoah GC dynamic Heuristic mode only (ignored otherwise). " \
 108           "Defaults to 60%.")                                               \
 109                                                                             \
 110   product_rw(uintx, ShenandoahFreeThreshold, 10,                            \
 111           "Set the percentage of free heap at which a GC cycle is started. " \
 112           "Applies to Shenandoah GC dynamic Heuristic mode only "           \
 113           "(ignored otherwise). Defaults to 10%.")                          \
 114                                                                             \
 115   product_rw(uintx, ShenandoahCSetThreshold, 40,                            \
 116           "Set the approximate target percentage of the heap for the"       \
 117           "collection set. Defaults to 40%.")                               \
 118   product_rw(uintx, ShenandoahAllocationThreshold, 0,                       \
 119           "Set percentage of memory allocated since last GC cycle before "  \
 120           "a new GC cycle is started. "                                     \
 121           "Applies to Shenandoah GC dynamic Heuristic mode only "           \
 122           "(ignored otherwise). Defauls to 0%.")                            \
 123                                                                             \












 124   experimental(double, ShenandoahGCWorkerPerJavaThread, 0.5,                \
 125           "Set GC worker to Java thread ratio when "                        \
 126           "UseDynamicNumberOfGCThreads is enabled")                         \
 127                                                                             \
 128   experimental(uintx, ShenandoahInitFreeThreshold, 10,                      \
 129                "Initial remaining free threshold for adaptive heuristics")  \
 130                                                                             \
 131   experimental(uintx, ShenandoahMinFreeThreshold, 3,                        \
 132                "Minimum remaining free threshold for adaptive heuristics")  \
 133                                                                             \
 134   experimental(uintx, ShenandoahMaxFreeThreshold, 70,                       \
 135                "Maximum remaining free threshold for adaptive heuristics")  \
 136                                                                             \
 137   experimental(uintx, ShenandoahHappyCyclesThreshold, 5,                    \
 138           "How many successful marking cycles before improving free "       \
 139                "threshold for adaptive heuristics")                    \
 140                                                                             \
 141   experimental(uint, ShenandoahMarkLoopStride, 1000,                        \
 142           "How many items are processed during one marking step")           \
 143                                                                             \




  55   experimental(uintx, ShenandoahMaxRegionSize, 32 * M,                      \
  56           "Maximum heap region size. ")                                     \
  57                                                                             \
  58   experimental(size_t, ShenandoahTargetNumRegions, 2048,                    \
  59           "Target number of regions. We try to get around that many "       \
  60           "regions, based on ShenandoahMinRegionSize and "                  \
  61           "ShenandoahMaxRegionSizeSize. ")                                  \
  62                                                                             \
  63   product(bool, UseShenandoahMatrix, false,                                 \
  64           "Keep a connection matrix and use this to drive collection sets") \
  65                                                                             \
  66   product(ccstr, ShenandoahGCHeuristics, "adaptive",                        \
  67           "The heuristics to use in Shenandoah GC. Possible values: "       \
  68           "adaptive (adapt to maintain the given amount of free memory), "  \
  69           "dynamic (start concurrent GC based on amount of free memory, "   \
  70           "allocation threshold, etc), "                                    \
  71           "passive (do not start concurrent GC, wait for Full GC) "         \
  72           "aggressive (run concurrent GC continuously, evacuate everything), " \
  73           "Defaults to adaptive")                                            \
  74                                                                             \
  75   experimental(ccstr, ShenandoahUpdateRefsEarly, "adaptive",                \
  76           "Run a separate concurrent reference updating phase after"        \
  77           "concurrent evacuation. Possible values: 'on', 'off', 'adaptive'")\
  78                                                                             \
  79   product(uintx, ShenandoahRefProcFrequency, 5,                             \
  80           "How often should (weak, soft, etc) references be processed. "    \
  81           "References get processed at every Nth GC cycle. "                \
  82           "Set to 0 to disable reference processing. "                      \
  83           "Defaults to process references every 5 cycles.")                 \
  84                                                                             \
  85   product(uintx, ShenandoahUnloadClassesFrequency, 5,                       \
  86           "How often should classes get unloaded. "                         \
  87           "Class unloading is performed at every Nth GC cycle. "            \
  88           "Set to 0 to disable concurrent class unloading. "                \
  89           "Defaults to unload classes every 5 cycles.")                     \
  90                                                                             \
  91   product(bool, ShenandoahLogTrace, false,                                  \
  92           "Turns on logging in Shenandoah at trace level. ")                \
  93                                                                             \
  94   product(bool, ShenandoahLogDebug, false,                                  \
  95           "Turns on logging in Shenandoah at debug level. ")                \
  96                                                                             \
  97   product(bool, ShenandoahLogInfo, false,                                   \
  98           "Turns on logging in Shenandoah at info level. ")                 \


 108   product_rw(uintx, ShenandoahGarbageThreshold, 60,                         \
 109           "Sets the percentage of garbage a region need to contain before " \
 110           "it can be marked for collection. Applies to "                    \
 111           "Shenandoah GC dynamic Heuristic mode only (ignored otherwise). " \
 112           "Defaults to 60%.")                                               \
 113                                                                             \
 114   product_rw(uintx, ShenandoahFreeThreshold, 10,                            \
 115           "Set the percentage of free heap at which a GC cycle is started. " \
 116           "Applies to Shenandoah GC dynamic Heuristic mode only "           \
 117           "(ignored otherwise). Defaults to 10%.")                          \
 118                                                                             \
 119   product_rw(uintx, ShenandoahCSetThreshold, 40,                            \
 120           "Set the approximate target percentage of the heap for the"       \
 121           "collection set. Defaults to 40%.")                               \
 122   product_rw(uintx, ShenandoahAllocationThreshold, 0,                       \
 123           "Set percentage of memory allocated since last GC cycle before "  \
 124           "a new GC cycle is started. "                                     \
 125           "Applies to Shenandoah GC dynamic Heuristic mode only "           \
 126           "(ignored otherwise). Defauls to 0%.")                            \
 127                                                                             \
 128   experimental(uintx, ShenandoahMergeUpdateRefsMinGap, 100,                 \
 129                "If GC is currently running in separate update-refs mode "   \
 130                "this numbers gives the threshold when to switch to "        \
 131                "merged update-refs mode. Number is percentage relative to"  \
 132                "duration(marking)+duration(update-refs).")                  \
 133                                                                             \
 134   experimental(uintx, ShenandoahMergeUpdateRefsMaxGap, 200,                 \
 135                "If GC is currently running in merged update-refs mode "     \
 136                "this numbers gives the threshold when to switch to "        \
 137                "separate update-refs mode. Number is percentage relative "  \
 138                "to duration(marking)+duration(update-refs).")               \
 139                                                                             \
 140   experimental(double, ShenandoahGCWorkerPerJavaThread, 0.5,                \
 141           "Set GC worker to Java thread ratio when "                        \
 142           "UseDynamicNumberOfGCThreads is enabled")                         \
 143                                                                             \
 144   experimental(uintx, ShenandoahInitFreeThreshold, 10,                      \
 145                "Initial remaining free threshold for adaptive heuristics")  \
 146                                                                             \
 147   experimental(uintx, ShenandoahMinFreeThreshold, 3,                        \
 148                "Minimum remaining free threshold for adaptive heuristics")  \
 149                                                                             \
 150   experimental(uintx, ShenandoahMaxFreeThreshold, 70,                       \
 151                "Maximum remaining free threshold for adaptive heuristics")  \
 152                                                                             \
 153   experimental(uintx, ShenandoahHappyCyclesThreshold, 5,                    \
 154           "How many successful marking cycles before improving free "       \
 155                "threshold for adaptive heuristics")                    \
 156                                                                             \
 157   experimental(uint, ShenandoahMarkLoopStride, 1000,                        \
 158           "How many items are processed during one marking step")           \
 159                                                                             \


< prev index next >