260
261 assert(SafepointSynchronize::is_at_safepoint(), "Expected at safepoint");
262 log_info(gc)("GC request for \"%s\" is handled", GCCause::to_string(cause));
263 MetaspaceGC::compute_new_size();
264 print_metaspace_info();
265 break;
266 default:
267 log_info(gc)("GC request for \"%s\" is ignored", GCCause::to_string(cause));
268 }
269 _monitoring_support->update_counters();
270 }
271
272 void EpsilonHeap::do_full_collection(bool clear_all_soft_refs) {
273 collect(gc_cause());
274 }
275
276 void EpsilonHeap::object_iterate(ObjectClosure *cl) {
277 _space->object_iterate(cl);
278 }
279
280 void EpsilonHeap::print_on(outputStream *st) const {
281 st->print_cr("Epsilon Heap");
282
283 // Cast away constness:
284 ((VirtualSpace)_virtual_space).print_on(st);
285
286 if (_space != NULL) {
287 st->print_cr("Allocation space:");
288 _space->print_on(st);
289 }
290
291 MetaspaceUtils::print_on(st);
292 }
293
294 bool EpsilonHeap::print_location(outputStream* st, void* addr) const {
295 return BlockLocationPrinter<EpsilonHeap>::print_location(st, addr);
296 }
297
298 void EpsilonHeap::print_tracing_info() const {
299 print_heap_info(used());
|
260
261 assert(SafepointSynchronize::is_at_safepoint(), "Expected at safepoint");
262 log_info(gc)("GC request for \"%s\" is handled", GCCause::to_string(cause));
263 MetaspaceGC::compute_new_size();
264 print_metaspace_info();
265 break;
266 default:
267 log_info(gc)("GC request for \"%s\" is ignored", GCCause::to_string(cause));
268 }
269 _monitoring_support->update_counters();
270 }
271
272 void EpsilonHeap::do_full_collection(bool clear_all_soft_refs) {
273 collect(gc_cause());
274 }
275
276 void EpsilonHeap::object_iterate(ObjectClosure *cl) {
277 _space->object_iterate(cl);
278 }
279
280 // No workGang for EpsilonHeap, work serially with thread 0
281 void EpsilonHeap::run_task(AbstractGangTask* task) {
282 task->work(0);
283 }
284
285 void EpsilonHeap::print_on(outputStream *st) const {
286 st->print_cr("Epsilon Heap");
287
288 // Cast away constness:
289 ((VirtualSpace)_virtual_space).print_on(st);
290
291 if (_space != NULL) {
292 st->print_cr("Allocation space:");
293 _space->print_on(st);
294 }
295
296 MetaspaceUtils::print_on(st);
297 }
298
299 bool EpsilonHeap::print_location(outputStream* st, void* addr) const {
300 return BlockLocationPrinter<EpsilonHeap>::print_location(st, addr);
301 }
302
303 void EpsilonHeap::print_tracing_info() const {
304 print_heap_info(used());
|