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 void EpsilonHeap::run_task(AbstractGangTask* task) {
301 task->work(0);
302 }
303
304 void EpsilonHeap::print_on(outputStream *st) const {
305 st->print_cr("Epsilon Heap");
306
307 // Cast away constness:
308 ((VirtualSpace)_virtual_space).print_on(st);
309
310 st->print_cr("Allocation space:");
311 _space->print_on(st);
312
313 MetaspaceUtils::print_on(st);
314 }
315
316 bool EpsilonHeap::print_location(outputStream* st, void* addr) const {
317 return BlockLocationPrinter<EpsilonHeap>::print_location(st, addr);
318 }
319
320 void EpsilonHeap::print_tracing_info() const {
321 print_heap_info(used());
322 print_metaspace_info();
323 }
|