< prev index next >

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

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

@@ -70,10 +70,14 @@
           "allocation threshold, etc), "                                    \
           "passive (do not start concurrent GC, wait for Full GC) "         \
           "aggressive (run concurrent GC continuously, evacuate everything), " \
           "Defaults to adaptive")                                            \
                                                                             \
+  experimental(ccstr, ShenandoahUpdateRefsEarly, "adaptive",                \
+          "Run a separate concurrent reference updating phase after"        \
+          "concurrent evacuation. Possible values: 'on', 'off', 'adaptive'")\
+                                                                            \
   product(uintx, ShenandoahRefProcFrequency, 5,                             \
           "How often should (weak, soft, etc) references be processed. "    \
           "References get processed at every Nth GC cycle. "                \
           "Set to 0 to disable reference processing. "                      \
           "Defaults to process references every 5 cycles.")                 \

@@ -119,10 +123,22 @@
           "Set percentage of memory allocated since last GC cycle before "  \
           "a new GC cycle is started. "                                     \
           "Applies to Shenandoah GC dynamic Heuristic mode only "           \
           "(ignored otherwise). Defauls to 0%.")                            \
                                                                             \
+  experimental(uintx, ShenandoahMergeUpdateRefsMinGap, 100,                 \
+               "If GC is currently running in separate update-refs mode "   \
+               "this numbers gives the threshold when to switch to "        \
+               "merged update-refs mode. Number is percentage relative to"  \
+               "duration(marking)+duration(update-refs).")                  \
+                                                                            \
+  experimental(uintx, ShenandoahMergeUpdateRefsMaxGap, 200,                 \
+               "If GC is currently running in merged update-refs mode "     \
+               "this numbers gives the threshold when to switch to "        \
+               "separate update-refs mode. Number is percentage relative "  \
+               "to duration(marking)+duration(update-refs).")               \
+                                                                            \
   experimental(double, ShenandoahGCWorkerPerJavaThread, 0.5,                \
           "Set GC worker to Java thread ratio when "                        \
           "UseDynamicNumberOfGCThreads is enabled")                         \
                                                                             \
   experimental(uintx, ShenandoahInitFreeThreshold, 10,                      \
< prev index next >