src/hotspot/share/gc/parallel/psMarkSweep.cpp
changeset 50297 580744d900c8
parent 50095 bf2f27b92064
child 50396 7f48bff40a9a
equal deleted inserted replaced
50296:75681fe34e32 50297:580744d900c8
   519     MarkingCodeBlobClosure each_active_code_blob(mark_and_push_closure(), !CodeBlobToOopClosure::FixRelocations);
   519     MarkingCodeBlobClosure each_active_code_blob(mark_and_push_closure(), !CodeBlobToOopClosure::FixRelocations);
   520     Threads::oops_do(mark_and_push_closure(), &each_active_code_blob);
   520     Threads::oops_do(mark_and_push_closure(), &each_active_code_blob);
   521     ObjectSynchronizer::oops_do(mark_and_push_closure());
   521     ObjectSynchronizer::oops_do(mark_and_push_closure());
   522     Management::oops_do(mark_and_push_closure());
   522     Management::oops_do(mark_and_push_closure());
   523     JvmtiExport::oops_do(mark_and_push_closure());
   523     JvmtiExport::oops_do(mark_and_push_closure());
   524     SystemDictionary::always_strong_oops_do(mark_and_push_closure());
   524     SystemDictionary::oops_do(mark_and_push_closure());
   525     ClassLoaderDataGraph::always_strong_cld_do(follow_cld_closure());
   525     ClassLoaderDataGraph::always_strong_cld_do(follow_cld_closure());
   526     // Do not treat nmethods as strong roots for mark/sweep, since we can unload them.
   526     // Do not treat nmethods as strong roots for mark/sweep, since we can unload them.
   527     //CodeCache::scavenge_root_nmethods_do(CodeBlobToOopClosure(mark_and_push_closure()));
   527     //CodeCache::scavenge_root_nmethods_do(CodeBlobToOopClosure(mark_and_push_closure()));
   528     AOTLoader::oops_do(mark_and_push_closure());
   528     AOTLoader::oops_do(mark_and_push_closure());
   529   }
   529   }
   554 
   554 
   555   {
   555   {
   556     GCTraceTime(Debug, gc, phases) t("Class Unloading", _gc_timer);
   556     GCTraceTime(Debug, gc, phases) t("Class Unloading", _gc_timer);
   557 
   557 
   558     // Unload classes and purge the SystemDictionary.
   558     // Unload classes and purge the SystemDictionary.
   559     bool purged_class = SystemDictionary::do_unloading(is_alive_closure(), _gc_timer);
   559     bool purged_class = SystemDictionary::do_unloading(_gc_timer);
   560 
   560 
   561     // Unload nmethods.
   561     // Unload nmethods.
   562     CodeCache::do_unloading(is_alive_closure(), purged_class);
   562     CodeCache::do_unloading(is_alive_closure(), purged_class);
   563 
   563 
   564     // Prune dead klasses from subklass/sibling/implementor lists.
   564     // Prune dead klasses from subklass/sibling/implementor lists.