< prev index next >

src/hotspot/share/gc/parallel/pcTasks.cpp

Print this page




  94     break;
  95 
  96     case object_synchronizer:
  97       ObjectSynchronizer::oops_do(&mark_and_push_closure);
  98       break;
  99 
 100     case management:
 101       Management::oops_do(&mark_and_push_closure);
 102       break;
 103 
 104     case jvmti:
 105       JvmtiExport::oops_do(&mark_and_push_closure);
 106       break;
 107 
 108     case system_dictionary:
 109       SystemDictionary::oops_do(&mark_and_push_closure);
 110       break;
 111 
 112     case class_loader_data: {
 113         CLDToOopClosure cld_closure(&mark_and_push_closure, ClassLoaderData::_claim_strong);
 114         ClassLoaderDataGraph::always_strong_cld_do(&cld_closure);
 115       }
 116       break;
 117 
 118     case code_cache:
 119       // Do not treat nmethods as strong roots for mark/sweep, since we can unload them.
 120       //CodeCache::scavenge_root_nmethods_do(CodeBlobToOopClosure(&mark_and_push_closure));
 121       AOTLoader::oops_do(&mark_and_push_closure);
 122       break;
 123 
 124     default:
 125       fatal("Unknown root type");
 126   }
 127 
 128   // Do the real work
 129   cm->follow_marking_stacks();
 130 }
 131 
 132 
 133 //
 134 // RefProcTaskProxy




  94     break;
  95 
  96     case object_synchronizer:
  97       ObjectSynchronizer::oops_do(&mark_and_push_closure);
  98       break;
  99 
 100     case management:
 101       Management::oops_do(&mark_and_push_closure);
 102       break;
 103 
 104     case jvmti:
 105       JvmtiExport::oops_do(&mark_and_push_closure);
 106       break;
 107 
 108     case system_dictionary:
 109       SystemDictionary::oops_do(&mark_and_push_closure);
 110       break;
 111 
 112     case class_loader_data: {
 113         CLDToOopClosure cld_closure(&mark_and_push_closure, ClassLoaderData::_claim_strong);
 114         ClassLoaderDataGraph::always_strong_cld_oops_do(&cld_closure);
 115       }
 116       break;
 117 
 118     case code_cache:
 119       // Do not treat nmethods as strong roots for mark/sweep, since we can unload them.
 120       //CodeCache::scavenge_root_nmethods_do(CodeBlobToOopClosure(&mark_and_push_closure));
 121       AOTLoader::oops_do(&mark_and_push_closure);
 122       break;
 123 
 124     default:
 125       fatal("Unknown root type");
 126   }
 127 
 128   // Do the real work
 129   cm->follow_marking_stacks();
 130 }
 131 
 132 
 133 //
 134 // RefProcTaskProxy


< prev index next >