84 "Set the percentage of free heap at which a GC cycle is started. " \
85 "Applies to Shenandoah GC dynamic Heuristic mode only " \
86 "(ignored otherwise). Defaults to 25%.") \
87 range(0,100) \
88 \
89 product_rw(uintx, ShenandoahInitialFreeThreshold, 50, \
90 "Set the percentage of free heap at which an initial GC cycle " \
91 "is started. An initial GC cycle is the first one after VM " \
92 "start or after a full GC." \
93 "Applies to Shenandoah GC dynamic Heuristic mode only " \
94 "(ignored otherwise). Defaults to 50%.") \
95 range(0,100) \
96 \
97 product_rw(uintx, ShenandoahAllocationThreshold, 0, \
98 "Set percentage of memory allocated since last GC cycle before " \
99 "a new GC cycle is started. " \
100 "Applies to Shenandoah GC dynamic Heuristic mode only " \
101 "(ignored otherwise). Defauls to 0%.") \
102 range(0,100) \
103 \
104 experimental(bool, ShenandoahConcurrentCodeRoots, false, \
105 "Scan code roots concurrently, instead of during a pause") \
106 \
107 experimental(bool, ShenandoahNoBarriersForConst, true, \
108 "Constant oops don't need barriers") \
109 \
110 experimental(bool, ShenandoahDontIncreaseWBFreq, true, \
111 "Common 2 WriteBarriers or WriteBarrier and a ReadBarrier only " \
112 "if the resulting WriteBarrier isn't executed more frequently") \
113 \
114 experimental(bool, ShenandoahNoLivenessFullGC, true, \
115 "Skip liveness counting for mark during full GC.") \
116 \
117 experimental(bool, ShenandoahWriteBarrierToIR, true, \
118 "Convert write barrier to IR instead of using assembly blob") \
119 \
120 experimental(bool, UseShenandoahOWST, false, \
121 "Use ShenandoahTaskTerminator") \
122 \
123 diagnostic(bool, ShenandoahWriteBarrier, true, \
|
84 "Set the percentage of free heap at which a GC cycle is started. " \
85 "Applies to Shenandoah GC dynamic Heuristic mode only " \
86 "(ignored otherwise). Defaults to 25%.") \
87 range(0,100) \
88 \
89 product_rw(uintx, ShenandoahInitialFreeThreshold, 50, \
90 "Set the percentage of free heap at which an initial GC cycle " \
91 "is started. An initial GC cycle is the first one after VM " \
92 "start or after a full GC." \
93 "Applies to Shenandoah GC dynamic Heuristic mode only " \
94 "(ignored otherwise). Defaults to 50%.") \
95 range(0,100) \
96 \
97 product_rw(uintx, ShenandoahAllocationThreshold, 0, \
98 "Set percentage of memory allocated since last GC cycle before " \
99 "a new GC cycle is started. " \
100 "Applies to Shenandoah GC dynamic Heuristic mode only " \
101 "(ignored otherwise). Defauls to 0%.") \
102 range(0,100) \
103 \
104 experimental(uint, ShenandoahMarkLoopStride, 1000, \
105 "How many items are processed during one marking step") \
106 \
107 experimental(bool, ShenandoahConcurrentCodeRoots, false, \
108 "Scan code roots concurrently, instead of during a pause") \
109 \
110 experimental(bool, ShenandoahNoBarriersForConst, true, \
111 "Constant oops don't need barriers") \
112 \
113 experimental(bool, ShenandoahDontIncreaseWBFreq, true, \
114 "Common 2 WriteBarriers or WriteBarrier and a ReadBarrier only " \
115 "if the resulting WriteBarrier isn't executed more frequently") \
116 \
117 experimental(bool, ShenandoahNoLivenessFullGC, true, \
118 "Skip liveness counting for mark during full GC.") \
119 \
120 experimental(bool, ShenandoahWriteBarrierToIR, true, \
121 "Convert write barrier to IR instead of using assembly blob") \
122 \
123 experimental(bool, UseShenandoahOWST, false, \
124 "Use ShenandoahTaskTerminator") \
125 \
126 diagnostic(bool, ShenandoahWriteBarrier, true, \
|