comparison src/share/vm/gc_implementation/g1/g1MarkSweep.cpp @ 20257:7426d8d76305

8034761: Remove the do_code_roots parameter from process_strong_roots Reviewed-by: tschatzl, mgerdin, jmasa
author stefank
date Thu, 13 Feb 2014 17:44:39 +0100
parents 9fec19bb0659
children 64ac9c55d666
comparison
equal deleted inserted replaced
20256:b0b97602393a 20257:7426d8d76305
132 ClassLoaderDataGraph::clear_claimed_marks(); 132 ClassLoaderDataGraph::clear_claimed_marks();
133 133
134 sh->process_strong_roots(true, // activate StrongRootsScope 134 sh->process_strong_roots(true, // activate StrongRootsScope
135 SharedHeap::SO_SystemClasses, 135 SharedHeap::SO_SystemClasses,
136 &GenMarkSweep::follow_root_closure, 136 &GenMarkSweep::follow_root_closure,
137 &GenMarkSweep::follow_code_root_closure,
138 &GenMarkSweep::follow_klass_closure); 137 &GenMarkSweep::follow_klass_closure);
139 138
140 // Process reference objects found during marking 139 // Process reference objects found during marking
141 ReferenceProcessor* rp = GenMarkSweep::ref_processor(); 140 ReferenceProcessor* rp = GenMarkSweep::ref_processor();
142 assert(rp == G1CollectedHeap::heap()->ref_processor_stw(), "Sanity"); 141 assert(rp == G1CollectedHeap::heap()->ref_processor_stw(), "Sanity");
306 305
307 // Need cleared claim bits for the strong roots processing 306 // Need cleared claim bits for the strong roots processing
308 ClassLoaderDataGraph::clear_claimed_marks(); 307 ClassLoaderDataGraph::clear_claimed_marks();
309 308
310 sh->process_strong_roots(true, // activate StrongRootsScope 309 sh->process_strong_roots(true, // activate StrongRootsScope
311 SharedHeap::SO_AllClasses, 310 SharedHeap::SO_AllClasses | SharedHeap::SO_AllCodeCache,
312 &GenMarkSweep::adjust_pointer_closure, 311 &GenMarkSweep::adjust_pointer_closure,
313 NULL, // do not touch code cache here
314 &GenMarkSweep::adjust_klass_closure); 312 &GenMarkSweep::adjust_klass_closure);
315 313
316 assert(GenMarkSweep::ref_processor() == g1h->ref_processor_stw(), "Sanity"); 314 assert(GenMarkSweep::ref_processor() == g1h->ref_processor_stw(), "Sanity");
317 g1h->ref_processor_stw()->weak_oops_do(&GenMarkSweep::adjust_pointer_closure); 315 g1h->ref_processor_stw()->weak_oops_do(&GenMarkSweep::adjust_pointer_closure);
318 316
319 // Now adjust pointers in remaining weak roots. (All of which should 317 // Now adjust pointers in remaining weak roots. (All of which should
320 // have been cleared if they pointed to non-surviving objects.) 318 // have been cleared if they pointed to non-surviving objects.)
321 g1h->g1_process_weak_roots(&GenMarkSweep::adjust_pointer_closure); 319 sh->process_weak_roots(&GenMarkSweep::adjust_pointer_closure);
322 320
323 if (G1StringDedup::is_enabled()) { 321 if (G1StringDedup::is_enabled()) {
324 G1StringDedup::oops_do(&GenMarkSweep::adjust_pointer_closure); 322 G1StringDedup::oops_do(&GenMarkSweep::adjust_pointer_closure);
325 } 323 }
326 324