62 JNIHandles::oops_do(&roots_closure); 63 break; 64 65 case threads: 66 { 67 ResourceMark rm; 68 CLDToOopClosure* cld_closure = NULL; // Not needed. All CLDs are already visited. 69 Threads::oops_do(&roots_closure, cld_closure, NULL); 70 } 71 break; 72 73 case object_synchronizer: 74 ObjectSynchronizer::oops_do(&roots_closure); 75 break; 76 77 case flat_profiler: 78 FlatProfiler::oops_do(&roots_closure); 79 break; 80 81 case system_dictionary: 82 { 83 SystemDictionary::oops_do(&roots_closure); 84 85 // Move this to another root_type? 86 PSScavengeKlassClosure klass_closure(pm); 87 ClassLoaderDataGraph::oops_do(&roots_closure, &klass_closure, false); 88 } 89 break; 90 91 case management: 92 Management::oops_do(&roots_closure); 93 break; 94 95 case jvmti: 96 JvmtiExport::oops_do(&roots_closure); 97 break; 98 99 100 case code_cache: 101 { 102 CodeBlobToOopClosure each_scavengable_code_blob(&roots_to_old_closure, /*do_marking=*/ true); 103 CodeCache::scavenge_root_nmethods_do(&each_scavengable_code_blob); 104 } 105 break; | 62 JNIHandles::oops_do(&roots_closure); 63 break; 64 65 case threads: 66 { 67 ResourceMark rm; 68 CLDToOopClosure* cld_closure = NULL; // Not needed. All CLDs are already visited. 69 Threads::oops_do(&roots_closure, cld_closure, NULL); 70 } 71 break; 72 73 case object_synchronizer: 74 ObjectSynchronizer::oops_do(&roots_closure); 75 break; 76 77 case flat_profiler: 78 FlatProfiler::oops_do(&roots_closure); 79 break; 80 81 case system_dictionary: 82 SystemDictionary::oops_do(&roots_closure); 83 break; 84 85 case class_loader_data: 86 { 87 PSScavengeKlassClosure klass_closure(pm); 88 ClassLoaderDataGraph::oops_do(&roots_closure, &klass_closure, false); 89 } 90 break; 91 92 case management: 93 Management::oops_do(&roots_closure); 94 break; 95 96 case jvmti: 97 JvmtiExport::oops_do(&roots_closure); 98 break; 99 100 101 case code_cache: 102 { 103 CodeBlobToOopClosure each_scavengable_code_blob(&roots_to_old_closure, /*do_marking=*/ true); 104 CodeCache::scavenge_root_nmethods_do(&each_scavengable_code_blob); 105 } 106 break; |