659 // Delete metaspaces for unloaded class loaders and clean up loader_data graph
660 ClassLoaderDataGraph::purge();
661 MetaspaceUtils::verify_metrics();
662 // Resize the metaspace capacity after full collections
663 MetaspaceGC::compute_new_size();
664 update_full_collections_completed();
665
666 print_heap_change(pre_gc_values);
667
668 // Track memory usage and detect low memory after GC finishes
669 MemoryService::track_memory_usage();
670
671 // Need to tell the epilogue code we are done with Full GC, regardless what was
672 // the initial value for "complete" flag.
673 gc_epilogue(true);
674
675 BiasedLocking::restore_marks();
676
677 print_heap_after_gc();
678 }
679
680 #ifdef TRACESPINNING
681 TaskTerminator::print_termination_counts();
682 #endif
683 }
684
685 bool GenCollectedHeap::should_do_full_collection(size_t size, bool full, bool is_tlab,
686 GenCollectedHeap::GenerationType max_gen) const {
687 return max_gen == OldGen && _old_gen->should_collect(full, size, is_tlab);
688 }
689
690 void GenCollectedHeap::register_nmethod(nmethod* nm) {
691 ScavengableNMethods::register_nmethod(nm);
692 }
693
694 void GenCollectedHeap::unregister_nmethod(nmethod* nm) {
695 ScavengableNMethods::unregister_nmethod(nm);
696 }
697
698 void GenCollectedHeap::verify_nmethod(nmethod* nm) {
699 ScavengableNMethods::verify_nmethod(nm);
700 }
701
702 void GenCollectedHeap::flush_nmethod(nmethod* nm) {
|
659 // Delete metaspaces for unloaded class loaders and clean up loader_data graph
660 ClassLoaderDataGraph::purge();
661 MetaspaceUtils::verify_metrics();
662 // Resize the metaspace capacity after full collections
663 MetaspaceGC::compute_new_size();
664 update_full_collections_completed();
665
666 print_heap_change(pre_gc_values);
667
668 // Track memory usage and detect low memory after GC finishes
669 MemoryService::track_memory_usage();
670
671 // Need to tell the epilogue code we are done with Full GC, regardless what was
672 // the initial value for "complete" flag.
673 gc_epilogue(true);
674
675 BiasedLocking::restore_marks();
676
677 print_heap_after_gc();
678 }
679 }
680
681 bool GenCollectedHeap::should_do_full_collection(size_t size, bool full, bool is_tlab,
682 GenCollectedHeap::GenerationType max_gen) const {
683 return max_gen == OldGen && _old_gen->should_collect(full, size, is_tlab);
684 }
685
686 void GenCollectedHeap::register_nmethod(nmethod* nm) {
687 ScavengableNMethods::register_nmethod(nm);
688 }
689
690 void GenCollectedHeap::unregister_nmethod(nmethod* nm) {
691 ScavengableNMethods::unregister_nmethod(nm);
692 }
693
694 void GenCollectedHeap::verify_nmethod(nmethod* nm) {
695 ScavengableNMethods::verify_nmethod(nm);
696 }
697
698 void GenCollectedHeap::flush_nmethod(nmethod* nm) {
|