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
135 //
136
137 void RefProcTaskProxy::do_it(GCTaskManager* manager, uint which)
138 {
139 assert(ParallelScavengeHeap::heap()->is_gc_active(), "called outside gc");
140
|
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 //ScavengableNMethods::scavengable_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
135 //
136
137 void RefProcTaskProxy::do_it(GCTaskManager* manager, uint which)
138 {
139 assert(ParallelScavengeHeap::heap()->is_gc_active(), "called outside gc");
140
|