612 par_scan_state.set_young_old_boundary(_young_old_boundary); |
612 par_scan_state.set_young_old_boundary(_young_old_boundary); |
613 |
613 |
614 KlassScanClosure klass_scan_closure(&par_scan_state.to_space_root_closure(), |
614 KlassScanClosure klass_scan_closure(&par_scan_state.to_space_root_closure(), |
615 gch->rem_set()->klass_rem_set()); |
615 gch->rem_set()->klass_rem_set()); |
616 |
616 |
617 int so = SharedHeap::SO_AllClasses | SharedHeap::SO_Strings | SharedHeap::SO_CodeCache; |
617 int so = SharedHeap::SO_AllClasses | SharedHeap::SO_Strings | SharedHeap::SO_ScavengeCodeCache; |
618 |
618 |
619 par_scan_state.start_strong_roots(); |
619 par_scan_state.start_strong_roots(); |
620 gch->gen_process_strong_roots(_gen->level(), |
620 gch->gen_process_strong_roots(_gen->level(), |
621 true, // Process younger gens, if any, |
621 true, // Process younger gens, if any, |
622 // as strong roots. |
622 // as strong roots. |
623 false, // no scope; this is parallel code |
623 false, // no scope; this is parallel code |
624 true, // is scavenging |
|
625 SharedHeap::ScanningOption(so), |
624 SharedHeap::ScanningOption(so), |
626 &par_scan_state.to_space_root_closure(), |
625 &par_scan_state.to_space_root_closure(), |
627 true, // walk *all* scavengable nmethods |
626 true, // walk *all* scavengable nmethods |
628 &par_scan_state.older_gen_closure(), |
627 &par_scan_state.older_gen_closure(), |
629 &klass_scan_closure); |
628 &klass_scan_closure); |