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);
605 }
606
607 ParallelScavengeHeap* ParallelScavengeHeap::heap() {
608 CollectedHeap* heap = Universe::heap();
609 assert(heap != NULL, "Uninitialized access to ParallelScavengeHeap::heap()");
610 assert(heap->kind() == CollectedHeap::ParallelScavengeHeap, "Not a ParallelScavengeHeap");
611 return (ParallelScavengeHeap*)heap;
612 }
613
614 // Before delegating the resize to the young generation,
615 // the reserved space for the young and old generations
616 // may be changed to accommodate the desired resize.
617 void ParallelScavengeHeap::resize_young_gen(size_t eden_size,
618 size_t survivor_size) {
619 if (UseAdaptiveGCBoundary) {
620 if (size_policy()->bytes_absorbed_from_eden() != 0) {
621 size_policy()->reset_bytes_absorbed_from_eden();
622 return; // The generation changed size already.
623 }
624 gens()->adjust_boundary_for_young_gen_needs(eden_size, survivor_size);
625 }
626
627 // Delegate the resize to the generation.
628 _young_gen->resize(eden_size, survivor_size);
|
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);
605 }
606
607 ParallelScavengeHeap* ParallelScavengeHeap::heap() {
608 CollectedHeap* heap = GC::gc()->heap();
609 assert(heap != NULL, "Uninitialized access to ParallelScavengeHeap::heap()");
610 assert(heap->kind() == CollectedHeap::ParallelScavengeHeap, "Not a ParallelScavengeHeap");
611 return (ParallelScavengeHeap*)heap;
612 }
613
614 // Before delegating the resize to the young generation,
615 // the reserved space for the young and old generations
616 // may be changed to accommodate the desired resize.
617 void ParallelScavengeHeap::resize_young_gen(size_t eden_size,
618 size_t survivor_size) {
619 if (UseAdaptiveGCBoundary) {
620 if (size_policy()->bytes_absorbed_from_eden() != 0) {
621 size_policy()->reset_bytes_absorbed_from_eden();
622 return; // The generation changed size already.
623 }
624 gens()->adjust_boundary_for_young_gen_needs(eden_size, survivor_size);
625 }
626
627 // Delegate the resize to the generation.
628 _young_gen->resize(eden_size, survivor_size);
|