< prev index next >

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

Print this page
rev 11461 : [backport] 8226757: Shenandoah: Make traversal and passive modes explicit
rev 11463 : Backport Traversal GC


  53   experimental(intx, ShenandoahHumongousThreshold, 100,                     \
  54           "How large should the object be to get allocated in humongous "   \
  55           "region, in percents of heap region size. This also caps the "    \
  56           "maximum TLAB size.")                                             \
  57                                                                             \
  58   product(ccstr, ShenandoahGCHeuristics, "adaptive",                        \
  59           "The heuristics to use in Shenandoah GC. Possible values:"        \
  60           " *) adaptive - adapt to maintain the given amount of free heap;" \
  61           " *) static  -  start concurrent GC when static free heap "       \
  62           "               threshold and static allocation threshold are "   \
  63           "               tripped;"                                         \
  64           " *) aggressive - run concurrent GC continuously, evacuate "      \
  65           "               everything;"                                      \
  66           " *) compact - run GC with lower footprint target, may end up "   \
  67           "               doing continuous GC, evacuate lots of live "      \
  68           "               objects, uncommit heap aggressively;")            \
  69                                                                             \
  70   product(ccstr, ShenandoahGCMode, "normal",                                \
  71           "The GC mode to use in Shenandoah GC. Possible values"            \
  72           " *) normal    - normal GC (mark-evac-update)"                    \

  73           " *) passive   - disable concurrent GC, do stop-the-world GC")    \
  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   experimental(uintx, ShenandoahRefProcFrequency, 5,                        \
  80           "How often should (weak, soft, etc) references be processed. "    \
  81           "References get processed at every Nth GC cycle. Set to zero "    \
  82           "to disable reference processing.")                               \
  83                                                                             \
  84   experimental(uintx, ShenandoahUnloadClassesFrequency, 5,                  \
  85           "How often should classes get unloaded. "                         \
  86           "Class unloading is performed at every Nth GC cycle. "            \
  87           "Set to zero to disable class unloading during concurrent GC.")   \
  88                                                                             \
  89   experimental(uintx, ShenandoahGarbageThreshold, 60,                       \
  90           "Sets the percentage of garbage a region need to contain before " \
  91           "it can be marked for collection. Does not apply to all "         \
  92           "heuristics.")                                                    \


 306           "How many items are processed during one marking step")           \
 307                                                                             \
 308   experimental(uintx, ShenandoahParallelRegionStride, 1024,                 \
 309           "How many regions are processed in one stride during parallel "   \
 310           "iteration.")                                                     \
 311                                                                             \
 312   experimental(intx, ShenandoahSATBBufferSize, 1 * K,                       \
 313           "Number of entries in an SATB log buffer.")                       \
 314                                                                             \
 315   experimental(uintx, ShenandoahSATBBufferFlushInterval, 100,               \
 316           "Forcefully flush non-empty SATB buffers at this interval. "      \
 317           "Time is in milliseconds.")                                       \
 318                                                                             \
 319   experimental(bool, ShenandoahPreclean, true,                              \
 320           "Do concurrent preclean phase before final mark: process "        \
 321           "definitely alive references to avoid dealing with them during "  \
 322           "pause.")                                                         \
 323                                                                             \
 324   diagnostic(bool, ShenandoahSATBBarrier, true,                             \
 325           "Turn on/off SATB barriers in Shenandoah")                        \






 326                                                                             \
 327   diagnostic(bool, ShenandoahCASBarrier, true,                              \
 328           "Turn on/off CAS barriers in Shenandoah")                         \
 329                                                                             \
 330   diagnostic(bool, ShenandoahCloneBarrier, true,                            \
 331           "Turn on/off clone barriers in Shenandoah")                       \
 332                                                                             \
 333   diagnostic(bool, ShenandoahLoadRefBarrier, true,                          \
 334           "Turn on/off load-reference barriers in Shenandoah")              \
 335                                                                             \
 336   experimental(bool, ShenandoahConcurrentScanCodeRoots, true,               \
 337           "Scan code roots concurrently, instead of during a pause")        \
 338                                                                             \
 339   experimental(uintx, ShenandoahCodeRootsStyle, 2,                          \
 340           "Use this style to scan code cache:"                              \
 341           " 0 - sequential iterator;"                                       \
 342           " 1 - parallel iterator;"                                         \
 343           " 2 - parallel iterator with cset filters;")                      \
 344                                                                             \
 345   diagnostic(bool, ShenandoahOptimizeStaticFinals, true,                    \




  53   experimental(intx, ShenandoahHumongousThreshold, 100,                     \
  54           "How large should the object be to get allocated in humongous "   \
  55           "region, in percents of heap region size. This also caps the "    \
  56           "maximum TLAB size.")                                             \
  57                                                                             \
  58   product(ccstr, ShenandoahGCHeuristics, "adaptive",                        \
  59           "The heuristics to use in Shenandoah GC. Possible values:"        \
  60           " *) adaptive - adapt to maintain the given amount of free heap;" \
  61           " *) static  -  start concurrent GC when static free heap "       \
  62           "               threshold and static allocation threshold are "   \
  63           "               tripped;"                                         \
  64           " *) aggressive - run concurrent GC continuously, evacuate "      \
  65           "               everything;"                                      \
  66           " *) compact - run GC with lower footprint target, may end up "   \
  67           "               doing continuous GC, evacuate lots of live "      \
  68           "               objects, uncommit heap aggressively;")            \
  69                                                                             \
  70   product(ccstr, ShenandoahGCMode, "normal",                                \
  71           "The GC mode to use in Shenandoah GC. Possible values"            \
  72           " *) normal    - normal GC (mark-evac-update)"                    \
  73           " *) traversal - traversal GC (single-pass)"                      \
  74           " *) passive   - disable concurrent GC, do stop-the-world GC")    \
  75                                                                             \
  76   experimental(ccstr, ShenandoahUpdateRefsEarly, "adaptive",                \
  77           "Run a separate concurrent reference updating phase after"        \
  78           "concurrent evacuation. Possible values: 'on', 'off', 'adaptive'")\
  79                                                                             \
  80   experimental(uintx, ShenandoahRefProcFrequency, 5,                        \
  81           "How often should (weak, soft, etc) references be processed. "    \
  82           "References get processed at every Nth GC cycle. Set to zero "    \
  83           "to disable reference processing.")                               \
  84                                                                             \
  85   experimental(uintx, ShenandoahUnloadClassesFrequency, 5,                  \
  86           "How often should classes get unloaded. "                         \
  87           "Class unloading is performed at every Nth GC cycle. "            \
  88           "Set to zero to disable class unloading during concurrent GC.")   \
  89                                                                             \
  90   experimental(uintx, ShenandoahGarbageThreshold, 60,                       \
  91           "Sets the percentage of garbage a region need to contain before " \
  92           "it can be marked for collection. Does not apply to all "         \
  93           "heuristics.")                                                    \


 307           "How many items are processed during one marking step")           \
 308                                                                             \
 309   experimental(uintx, ShenandoahParallelRegionStride, 1024,                 \
 310           "How many regions are processed in one stride during parallel "   \
 311           "iteration.")                                                     \
 312                                                                             \
 313   experimental(intx, ShenandoahSATBBufferSize, 1 * K,                       \
 314           "Number of entries in an SATB log buffer.")                       \
 315                                                                             \
 316   experimental(uintx, ShenandoahSATBBufferFlushInterval, 100,               \
 317           "Forcefully flush non-empty SATB buffers at this interval. "      \
 318           "Time is in milliseconds.")                                       \
 319                                                                             \
 320   experimental(bool, ShenandoahPreclean, true,                              \
 321           "Do concurrent preclean phase before final mark: process "        \
 322           "definitely alive references to avoid dealing with them during "  \
 323           "pause.")                                                         \
 324                                                                             \
 325   diagnostic(bool, ShenandoahSATBBarrier, true,                             \
 326           "Turn on/off SATB barriers in Shenandoah")                        \
 327                                                                             \
 328   diagnostic(bool, ShenandoahKeepAliveBarrier, true,                        \
 329           "Turn on/off keep alive barriers in Shenandoah")                  \
 330                                                                             \
 331   diagnostic(bool, ShenandoahStoreValEnqueueBarrier, false,                 \
 332           "Turn on/off enqueuing of oops for storeval barriers")            \
 333                                                                             \
 334   diagnostic(bool, ShenandoahCASBarrier, true,                              \
 335           "Turn on/off CAS barriers in Shenandoah")                         \
 336                                                                             \
 337   diagnostic(bool, ShenandoahCloneBarrier, true,                            \
 338           "Turn on/off clone barriers in Shenandoah")                       \
 339                                                                             \
 340   diagnostic(bool, ShenandoahLoadRefBarrier, true,                          \
 341           "Turn on/off load-reference barriers in Shenandoah")              \
 342                                                                             \
 343   experimental(bool, ShenandoahConcurrentScanCodeRoots, true,               \
 344           "Scan code roots concurrently, instead of during a pause")        \
 345                                                                             \
 346   experimental(uintx, ShenandoahCodeRootsStyle, 2,                          \
 347           "Use this style to scan code cache:"                              \
 348           " 0 - sequential iterator;"                                       \
 349           " 1 - parallel iterator;"                                         \
 350           " 2 - parallel iterator with cset filters;")                      \
 351                                                                             \
 352   diagnostic(bool, ShenandoahOptimizeStaticFinals, true,                    \


< prev index next >