210 gch->gen_process_strong_roots(level, |
210 gch->gen_process_strong_roots(level, |
211 false, // Younger gens are not roots. |
211 false, // Younger gens are not roots. |
212 true, // activate StrongRootsScope |
212 true, // activate StrongRootsScope |
213 SharedHeap::SO_SystemClasses, |
213 SharedHeap::SO_SystemClasses, |
214 &follow_root_closure, |
214 &follow_root_closure, |
215 true, // walk code active on stacks |
|
216 &follow_root_closure, |
215 &follow_root_closure, |
217 &follow_klass_closure); |
216 &follow_klass_closure); |
218 |
217 |
219 // Process reference objects found during marking |
218 // Process reference objects found during marking |
220 { |
219 { |
293 adjust_pointer_closure.set_orig_generation(gch->get_gen(level)); |
292 adjust_pointer_closure.set_orig_generation(gch->get_gen(level)); |
294 |
293 |
295 gch->gen_process_strong_roots(level, |
294 gch->gen_process_strong_roots(level, |
296 false, // Younger gens are not roots. |
295 false, // Younger gens are not roots. |
297 true, // activate StrongRootsScope |
296 true, // activate StrongRootsScope |
298 SharedHeap::SO_AllClasses, |
297 SharedHeap::SO_AllClasses | SharedHeap::SO_AllCodeCache, |
299 &adjust_pointer_closure, |
298 &adjust_pointer_closure, |
300 false, // do not walk code |
|
301 &adjust_pointer_closure, |
299 &adjust_pointer_closure, |
302 &adjust_klass_closure); |
300 &adjust_klass_closure); |
303 |
301 |
304 // Now adjust pointers in remaining weak roots. (All of which should |
302 gch->gen_process_weak_roots(&adjust_pointer_closure); |
305 // have been cleared if they pointed to non-surviving objects.) |
|
306 CodeBlobToOopClosure adjust_code_pointer_closure(&adjust_pointer_closure, |
|
307 /*do_marking=*/ false); |
|
308 gch->gen_process_weak_roots(&adjust_pointer_closure, |
|
309 &adjust_code_pointer_closure); |
|
310 |
303 |
311 adjust_marks(); |
304 adjust_marks(); |
312 GenAdjustPointersClosure blk; |
305 GenAdjustPointersClosure blk; |
313 gch->generation_iterate(&blk, true); |
306 gch->generation_iterate(&blk, true); |
314 } |
307 } |