279 280 assert(SafepointSynchronize::is_at_safepoint(), "Expected at safepoint"); 281 log_info(gc)("GC request for \"%s\" is handled", GCCause::to_string(cause)); 282 MetaspaceGC::compute_new_size(); 283 print_metaspace_info(); 284 break; 285 default: 286 log_info(gc)("GC request for \"%s\" is ignored", GCCause::to_string(cause)); 287 } 288 _monitoring_support->update_counters(); 289 } 290 291 void EpsilonHeap::do_full_collection(bool clear_all_soft_refs) { 292 collect(gc_cause()); 293 } 294 295 void EpsilonHeap::object_iterate(ObjectClosure *cl) { 296 _space->object_iterate(cl); 297 } 298 299 void EpsilonHeap::print_on(outputStream *st) const { 300 st->print_cr("Epsilon Heap"); 301 302 // Cast away constness: 303 ((VirtualSpace)_virtual_space).print_on(st); 304 305 st->print_cr("Allocation space:"); 306 _space->print_on(st); 307 308 MetaspaceUtils::print_on(st); 309 } 310 311 bool EpsilonHeap::print_location(outputStream* st, void* addr) const { 312 return BlockLocationPrinter<EpsilonHeap>::print_location(st, addr); 313 } 314 315 void EpsilonHeap::print_tracing_info() const { 316 print_heap_info(used()); 317 print_metaspace_info(); 318 } | 279 280 assert(SafepointSynchronize::is_at_safepoint(), "Expected at safepoint"); 281 log_info(gc)("GC request for \"%s\" is handled", GCCause::to_string(cause)); 282 MetaspaceGC::compute_new_size(); 283 print_metaspace_info(); 284 break; 285 default: 286 log_info(gc)("GC request for \"%s\" is ignored", GCCause::to_string(cause)); 287 } 288 _monitoring_support->update_counters(); 289 } 290 291 void EpsilonHeap::do_full_collection(bool clear_all_soft_refs) { 292 collect(gc_cause()); 293 } 294 295 void EpsilonHeap::object_iterate(ObjectClosure *cl) { 296 _space->object_iterate(cl); 297 } 298 299 // No workGang for EpsilonHeap, work serially with thread 0 300 Tickspan EpsilonHeap::run_task(AbstractGangTask* task) { 301 Ticks start = Ticks::now(); 302 task->work(0); 303 return Ticks::now() - start; 304 } 305 306 void EpsilonHeap::print_on(outputStream *st) const { 307 st->print_cr("Epsilon Heap"); 308 309 // Cast away constness: 310 ((VirtualSpace)_virtual_space).print_on(st); 311 312 st->print_cr("Allocation space:"); 313 _space->print_on(st); 314 315 MetaspaceUtils::print_on(st); 316 } 317 318 bool EpsilonHeap::print_location(outputStream* st, void* addr) const { 319 return BlockLocationPrinter<EpsilonHeap>::print_location(st, addr); 320 } 321 322 void EpsilonHeap::print_tracing_info() const { 323 print_heap_info(used()); 324 print_metaspace_info(); 325 } |