< prev index next >

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

Print this page
rev 12669 : [mq]: degenerating-marking.patch

@@ -81,10 +81,16 @@
           "How often should classes get unloaded. "                         \
           "Class unloading is performed at every Nth GC cycle. "            \
           "Set to 0 to disable concurrent class unloading. "                \
           "Defaults to unload classes every 5 cycles.")                     \
                                                                             \
+  experimental(uintx, ShenandoahFullGCThreshold, 3,                         \
+          "How many cycles in a row to do degenerated marking on "          \
+          "cancelled GC before triggering a full-gc"                        \
+          "Defaults to 3")                                                  \
+          writeable(Always)                                                 \
+                                                                            \
   product_rw(uintx, ShenandoahGarbageThreshold, 60,                         \
           "Sets the percentage of garbage a region need to contain before " \
           "it can be marked for collection. Applies to "                    \
           "Shenandoah GC dynamic Heuristic mode only (ignored otherwise). " \
           "Defaults to 60%.")                                               \

@@ -109,10 +115,26 @@
           "a new GC cycle is started. "                                     \
           "Applies to Shenandoah GC dynamic Heuristic mode only "           \
           "(ignored otherwise). Defauls to 0%.")                            \
           range(0,100)                                                      \
                                                                             \
+  experimental(uintx, ShenandoahInitFreeThreshold, 10,                      \
+               "Initial remaininig free threshold for adaptive heuristics") \
+          range(0,100)                                                      \
+                                                                            \
+  experimental(uintx, ShenandoahMinFreeThreshold, 3,                        \
+               "Minimum remaininig free threshold for adaptive heuristics") \
+          range(0,100)                                                      \
+                                                                            \
+  experimental(uintx, ShenandoahMaxFreeThreshold, 30,                       \
+               "Maximum remaininig free threshold for adaptive heuristics") \
+          range(0,100)                                                      \
+                                                                            \
+  experimental(uintx, ShenandoahHappyCyclesThreshold, 5,                    \
+          "How many successful marking cycles before improving free "       \
+               "threshold for adaptive heuristics")                    \
+                                                                            \
   experimental(uint, ShenandoahMarkLoopStride, 1000,                        \
           "How many items are processed during one marking step")           \
                                                                             \
   experimental(bool, ShenandoahConcurrentCodeRoots, false,                  \
           "Scan code roots concurrently, instead of during a pause")        \
< prev index next >