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