141 if (FLAG_IS_CMDLINE(UseDynamicNumberOfGCThreads)) {
142 warning("Shenandoah does not support UseDynamicNumberOfGCThreads, disabling");
143 }
144 FLAG_SET_DEFAULT(UseDynamicNumberOfGCThreads, false);
145 }
146
147 if (ShenandoahRegionSampling && FLAG_IS_DEFAULT(PerfDataMemorySize)) {
148 // When sampling is enabled, max out the PerfData memory to get more
149 // Shenandoah data in, including Matrix.
150 FLAG_SET_DEFAULT(PerfDataMemorySize, 2048*K);
151 }
152
153 #ifdef COMPILER2
154 // Shenandoah cares more about pause times, rather than raw throughput.
155 if (FLAG_IS_DEFAULT(UseCountedLoopSafepoints)) {
156 FLAG_SET_DEFAULT(UseCountedLoopSafepoints, true);
157 if (FLAG_IS_DEFAULT(LoopStripMiningIter)) {
158 FLAG_SET_DEFAULT(LoopStripMiningIter, 1000);
159 }
160 }
161 #endif // COMPILER2
162
163 // Record more information about previous cycles for improved debugging pleasure
164 if (FLAG_IS_DEFAULT(LogEventsBufferEntries)) {
165 FLAG_SET_DEFAULT(LogEventsBufferEntries, 250);
166 }
167
168 if ((InitialHeapSize == MaxHeapSize) && ShenandoahUncommit) {
169 log_info(gc)("Min heap equals to max heap, disabling ShenandoahUncommit");
170 FLAG_SET_DEFAULT(ShenandoahUncommit, false);
171 }
172
173 // If class unloading is disabled, no unloading for concurrent cycles as well.
174 if (!ClassUnloading) {
175 FLAG_SET_DEFAULT(ClassUnloadingWithConcurrentMark, false);
176 }
177
178 // TLAB sizing policy makes resizing decisions before each GC cycle. It averages
179 // historical data, assigning more recent data the weight according to TLABAllocationWeight.
180 // Current default is good for generational collectors that run frequent young GCs.
|
141 if (FLAG_IS_CMDLINE(UseDynamicNumberOfGCThreads)) {
142 warning("Shenandoah does not support UseDynamicNumberOfGCThreads, disabling");
143 }
144 FLAG_SET_DEFAULT(UseDynamicNumberOfGCThreads, false);
145 }
146
147 if (ShenandoahRegionSampling && FLAG_IS_DEFAULT(PerfDataMemorySize)) {
148 // When sampling is enabled, max out the PerfData memory to get more
149 // Shenandoah data in, including Matrix.
150 FLAG_SET_DEFAULT(PerfDataMemorySize, 2048*K);
151 }
152
153 #ifdef COMPILER2
154 // Shenandoah cares more about pause times, rather than raw throughput.
155 if (FLAG_IS_DEFAULT(UseCountedLoopSafepoints)) {
156 FLAG_SET_DEFAULT(UseCountedLoopSafepoints, true);
157 if (FLAG_IS_DEFAULT(LoopStripMiningIter)) {
158 FLAG_SET_DEFAULT(LoopStripMiningIter, 1000);
159 }
160 }
161
162 if (NMethodRelocation) {
163 warning("NMethod relocation is not supported with hotpatching yet");
164 FLAG_SET_DEFAULT(NMethodRelocation, false);
165 }
166
167 if (HotCodeHeap) {
168 warning("Hot code heap is not supported with hotpatching yet");
169 FLAG_SET_DEFAULT(HotCodeHeap, false);
170 }
171
172 if (HotCodeHeapSize) {
173 warning("Hot code heap is not supported with hotpatching yet");
174 FLAG_SET_DEFAULT(HotCodeHeapSize, 0);
175 }
176 #endif // COMPILER2
177
178 // Record more information about previous cycles for improved debugging pleasure
179 if (FLAG_IS_DEFAULT(LogEventsBufferEntries)) {
180 FLAG_SET_DEFAULT(LogEventsBufferEntries, 250);
181 }
182
183 if ((InitialHeapSize == MaxHeapSize) && ShenandoahUncommit) {
184 log_info(gc)("Min heap equals to max heap, disabling ShenandoahUncommit");
185 FLAG_SET_DEFAULT(ShenandoahUncommit, false);
186 }
187
188 // If class unloading is disabled, no unloading for concurrent cycles as well.
189 if (!ClassUnloading) {
190 FLAG_SET_DEFAULT(ClassUnloadingWithConcurrentMark, false);
191 }
192
193 // TLAB sizing policy makes resizing decisions before each GC cycle. It averages
194 // historical data, assigning more recent data the weight according to TLABAllocationWeight.
195 // Current default is good for generational collectors that run frequent young GCs.
|