< prev index next >

src/hotspot/share/gc/z/zDriver.cpp

Print this page

212     _gc_locker_port() {
213   set_name("ZDriver");
214   create_and_start();
215 }
216 
217 bool ZDriver::is_busy() const {
218   return _gc_cycle_port.is_busy();
219 }
220 
221 void ZDriver::collect(const ZDriverRequest& request) {
222   switch (request.cause()) {
223   case GCCause::_wb_young_gc:
224   case GCCause::_wb_conc_mark:
225   case GCCause::_wb_full_gc:
226   case GCCause::_dcmd_gc_run:
227   case GCCause::_java_lang_system_gc:
228   case GCCause::_full_gc_alot:
229   case GCCause::_scavenge_alot:
230   case GCCause::_jvmti_force_gc:
231   case GCCause::_metadata_GC_clear_soft_refs:

232     // Start synchronous GC
233     _gc_cycle_port.send_sync(request);
234     break;
235 
236   case GCCause::_z_timer:
237   case GCCause::_z_warmup:
238   case GCCause::_z_allocation_rate:
239   case GCCause::_z_allocation_stall:
240   case GCCause::_z_proactive:
241   case GCCause::_z_high_usage:
242   case GCCause::_metadata_GC_threshold:
243     // Start asynchronous GC
244     _gc_cycle_port.send_async(request);
245     break;
246 
247   case GCCause::_gc_locker:
248     // Restart VM operation previously blocked by the GC locker
249     _gc_locker_port.signal();
250     break;
251 

212     _gc_locker_port() {
213   set_name("ZDriver");
214   create_and_start();
215 }
216 
217 bool ZDriver::is_busy() const {
218   return _gc_cycle_port.is_busy();
219 }
220 
221 void ZDriver::collect(const ZDriverRequest& request) {
222   switch (request.cause()) {
223   case GCCause::_wb_young_gc:
224   case GCCause::_wb_conc_mark:
225   case GCCause::_wb_full_gc:
226   case GCCause::_dcmd_gc_run:
227   case GCCause::_java_lang_system_gc:
228   case GCCause::_full_gc_alot:
229   case GCCause::_scavenge_alot:
230   case GCCause::_jvmti_force_gc:
231   case GCCause::_metadata_GC_clear_soft_refs:
232   case GCCause::_codecache_GC_threshold:
233     // Start synchronous GC
234     _gc_cycle_port.send_sync(request);
235     break;
236 
237   case GCCause::_z_timer:
238   case GCCause::_z_warmup:
239   case GCCause::_z_allocation_rate:
240   case GCCause::_z_allocation_stall:
241   case GCCause::_z_proactive:
242   case GCCause::_z_high_usage:
243   case GCCause::_metadata_GC_threshold:
244     // Start asynchronous GC
245     _gc_cycle_port.send_async(request);
246     break;
247 
248   case GCCause::_gc_locker:
249     // Restart VM operation previously blocked by the GC locker
250     _gc_locker_port.signal();
251     break;
252 
< prev index next >