1.1 --- a/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp Tue Jul 01 09:03:55 2014 +0200 1.2 +++ b/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp Mon Jul 07 10:12:40 2014 +0200 1.3 @@ -613,18 +613,21 @@ 1.4 1.5 KlassScanClosure klass_scan_closure(&par_scan_state.to_space_root_closure(), 1.6 gch->rem_set()->klass_rem_set()); 1.7 - 1.8 - int so = SharedHeap::SO_AllClasses | SharedHeap::SO_Strings | SharedHeap::SO_ScavengeCodeCache; 1.9 + CLDToKlassAndOopClosure cld_scan_closure(&klass_scan_closure, 1.10 + &par_scan_state.to_space_root_closure(), 1.11 + false); 1.12 1.13 par_scan_state.start_strong_roots(); 1.14 - gch->gen_process_strong_roots(_gen->level(), 1.15 - true, // Process younger gens, if any, 1.16 - // as strong roots. 1.17 - false, // no scope; this is parallel code 1.18 - SharedHeap::ScanningOption(so), 1.19 - &par_scan_state.to_space_root_closure(), 1.20 - &par_scan_state.older_gen_closure(), 1.21 - &klass_scan_closure); 1.22 + gch->gen_process_roots(_gen->level(), 1.23 + true, // Process younger gens, if any, 1.24 + // as strong roots. 1.25 + false, // no scope; this is parallel code 1.26 + SharedHeap::SO_ScavengeCodeCache, 1.27 + GenCollectedHeap::StrongAndWeakRoots, 1.28 + &par_scan_state.to_space_root_closure(), 1.29 + &par_scan_state.older_gen_closure(), 1.30 + &cld_scan_closure); 1.31 + 1.32 par_scan_state.end_strong_roots(); 1.33 1.34 // "evacuate followers".