565 } 566 } 567 568 void ParallelScavengeHeap::gc_threads_do(ThreadClosure* tc) const { 569 PSScavenge::gc_task_manager()->threads_do(tc); 570 } 571 572 void ParallelScavengeHeap::print_gc_threads_on(outputStream* st) const { 573 PSScavenge::gc_task_manager()->print_threads_on(st); 574 } 575 576 void ParallelScavengeHeap::print_tracing_info() const { 577 if (TraceYoungGenTime) { 578 double time = PSScavenge::accumulated_time()->seconds(); 579 tty->print_cr("[Accumulated GC generation 0 time %3.7f secs]", time); 580 } 581 if (TraceOldGenTime) { 582 double time = UseParallelOldGC ? PSParallelCompact::accumulated_time()->seconds() : PSMarkSweep::accumulated_time()->seconds(); 583 tty->print_cr("[Accumulated GC generation 1 time %3.7f secs]", time); 584 } 585 } 586 587 588 void ParallelScavengeHeap::verify(VerifyOption option /* ignored */) { 589 // Why do we need the total_collections()-filter below? 590 if (total_collections() > 0) { 591 log_debug(gc, verify)("Tenured"); 592 old_gen()->verify(); 593 594 log_debug(gc, verify)("Eden"); 595 young_gen()->verify(); 596 } 597 } 598 599 void ParallelScavengeHeap::trace_heap(GCWhen::Type when, const GCTracer* gc_tracer) { 600 const PSHeapSummary& heap_summary = create_ps_heap_summary(); 601 gc_tracer->report_gc_heap_summary(when, heap_summary); 602 603 const MetaspaceSummary& metaspace_summary = create_metaspace_summary(); 604 gc_tracer->report_metaspace_summary(when, metaspace_summary); | 565 } 566 } 567 568 void ParallelScavengeHeap::gc_threads_do(ThreadClosure* tc) const { 569 PSScavenge::gc_task_manager()->threads_do(tc); 570 } 571 572 void ParallelScavengeHeap::print_gc_threads_on(outputStream* st) const { 573 PSScavenge::gc_task_manager()->print_threads_on(st); 574 } 575 576 void ParallelScavengeHeap::print_tracing_info() const { 577 if (TraceYoungGenTime) { 578 double time = PSScavenge::accumulated_time()->seconds(); 579 tty->print_cr("[Accumulated GC generation 0 time %3.7f secs]", time); 580 } 581 if (TraceOldGenTime) { 582 double time = UseParallelOldGC ? PSParallelCompact::accumulated_time()->seconds() : PSMarkSweep::accumulated_time()->seconds(); 583 tty->print_cr("[Accumulated GC generation 1 time %3.7f secs]", time); 584 } 585 586 AdaptiveSizePolicyOutput::print(); 587 588 } 589 590 591 void ParallelScavengeHeap::verify(VerifyOption option /* ignored */) { 592 // Why do we need the total_collections()-filter below? 593 if (total_collections() > 0) { 594 log_debug(gc, verify)("Tenured"); 595 old_gen()->verify(); 596 597 log_debug(gc, verify)("Eden"); 598 young_gen()->verify(); 599 } 600 } 601 602 void ParallelScavengeHeap::trace_heap(GCWhen::Type when, const GCTracer* gc_tracer) { 603 const PSHeapSummary& heap_summary = create_ps_heap_summary(); 604 gc_tracer->report_gc_heap_summary(when, heap_summary); 605 606 const MetaspaceSummary& metaspace_summary = create_metaspace_summary(); 607 gc_tracer->report_metaspace_summary(when, metaspace_summary); |