comparison src/share/vm/gc_implementation/parNew/parNewGeneration.cpp @ 14308:870aedf4ba4f

8032379: Remove the is_scavenging flag to process_strong_roots Summary: Refactor the strong root processing to avoid using a boolean in addition to the ScanOption enum. Reviewed-by: stefank, tschatzl, ehelin, jmasa
author mgerdin
date Tue, 14 Jan 2014 16:40:33 +0100
parents 86e6d691f2e1
children 63a4eb8bcd23
comparison
equal deleted inserted replaced
14307:7ab52431bc9f 14308:870aedf4ba4f
610 par_scan_state.set_young_old_boundary(_young_old_boundary); 610 par_scan_state.set_young_old_boundary(_young_old_boundary);
611 611
612 KlassScanClosure klass_scan_closure(&par_scan_state.to_space_root_closure(), 612 KlassScanClosure klass_scan_closure(&par_scan_state.to_space_root_closure(),
613 gch->rem_set()->klass_rem_set()); 613 gch->rem_set()->klass_rem_set());
614 614
615 int so = SharedHeap::SO_AllClasses | SharedHeap::SO_Strings | SharedHeap::SO_CodeCache; 615 int so = SharedHeap::SO_AllClasses | SharedHeap::SO_Strings | SharedHeap::SO_ScavengeCodeCache;
616 616
617 par_scan_state.start_strong_roots(); 617 par_scan_state.start_strong_roots();
618 gch->gen_process_strong_roots(_gen->level(), 618 gch->gen_process_strong_roots(_gen->level(),
619 true, // Process younger gens, if any, 619 true, // Process younger gens, if any,
620 // as strong roots. 620 // as strong roots.
621 false, // no scope; this is parallel code 621 false, // no scope; this is parallel code
622 true, // is scavenging
623 SharedHeap::ScanningOption(so), 622 SharedHeap::ScanningOption(so),
624 &par_scan_state.to_space_root_closure(), 623 &par_scan_state.to_space_root_closure(),
625 true, // walk *all* scavengable nmethods 624 true, // walk *all* scavengable nmethods
626 &par_scan_state.older_gen_closure(), 625 &par_scan_state.older_gen_closure(),
627 &klass_scan_closure); 626 &klass_scan_closure);