593 if (young_gen() != NULL) { 594 young_gen()->print_on(st); 595 } 596 if (old_gen() != NULL) { 597 old_gen()->print_on(st); 598 } 599 MetaspaceUtils::print_on(st); 600 } 601 602 void ParallelScavengeHeap::print_on_error(outputStream* st) const { 603 this->CollectedHeap::print_on_error(st); 604 605 st->cr(); 606 PSParallelCompact::print_on_error(st); 607 } 608 609 void ParallelScavengeHeap::gc_threads_do(ThreadClosure* tc) const { 610 ParallelScavengeHeap::heap()->workers().threads_do(tc); 611 } 612 613 void ParallelScavengeHeap::run_task(AbstractGangTask* task) { 614 _workers.run_task(task); 615 } 616 617 void ParallelScavengeHeap::print_tracing_info() const { 618 AdaptiveSizePolicyOutput::print(); 619 log_debug(gc, heap, exit)("Accumulated young generation GC time %3.7f secs", PSScavenge::accumulated_time()->seconds()); 620 log_debug(gc, heap, exit)("Accumulated old generation GC time %3.7f secs", PSParallelCompact::accumulated_time()->seconds()); 621 } 622 623 PreGenGCValues ParallelScavengeHeap::get_pre_gc_values() const { 624 const PSYoungGen* const young = young_gen(); 625 const MutableSpace* const eden = young->eden_space(); 626 const MutableSpace* const from = young->from_space(); 627 const PSOldGen* const old = old_gen(); 628 629 return PreGenGCValues(young->used_in_bytes(), 630 young->capacity_in_bytes(), 631 eden->used_in_bytes(), 632 eden->capacity_in_bytes(), 633 from->used_in_bytes(), 634 from->capacity_in_bytes(), 635 old->used_in_bytes(), 636 old->capacity_in_bytes()); | 593 if (young_gen() != NULL) { 594 young_gen()->print_on(st); 595 } 596 if (old_gen() != NULL) { 597 old_gen()->print_on(st); 598 } 599 MetaspaceUtils::print_on(st); 600 } 601 602 void ParallelScavengeHeap::print_on_error(outputStream* st) const { 603 this->CollectedHeap::print_on_error(st); 604 605 st->cr(); 606 PSParallelCompact::print_on_error(st); 607 } 608 609 void ParallelScavengeHeap::gc_threads_do(ThreadClosure* tc) const { 610 ParallelScavengeHeap::heap()->workers().threads_do(tc); 611 } 612 613 void ParallelScavengeHeap::print_tracing_info() const { 614 AdaptiveSizePolicyOutput::print(); 615 log_debug(gc, heap, exit)("Accumulated young generation GC time %3.7f secs", PSScavenge::accumulated_time()->seconds()); 616 log_debug(gc, heap, exit)("Accumulated old generation GC time %3.7f secs", PSParallelCompact::accumulated_time()->seconds()); 617 } 618 619 PreGenGCValues ParallelScavengeHeap::get_pre_gc_values() const { 620 const PSYoungGen* const young = young_gen(); 621 const MutableSpace* const eden = young->eden_space(); 622 const MutableSpace* const from = young->from_space(); 623 const PSOldGen* const old = old_gen(); 624 625 return PreGenGCValues(young->used_in_bytes(), 626 young->capacity_in_bytes(), 627 eden->used_in_bytes(), 628 eden->capacity_in_bytes(), 629 from->used_in_bytes(), 630 from->capacity_in_bytes(), 631 old->used_in_bytes(), 632 old->capacity_in_bytes()); |