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);
|