equal
deleted
inserted
replaced
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. |