1.1 --- a/src/share/vm/memory/genMarkSweep.cpp Tue Jul 01 09:03:55 2014 +0200 1.2 +++ b/src/share/vm/memory/genMarkSweep.cpp Mon Jul 07 10:12:40 2014 +0200 1.3 @@ -207,13 +207,14 @@ 1.4 // Need new claim bits before marking starts. 1.5 ClassLoaderDataGraph::clear_claimed_marks(); 1.6 1.7 - gch->gen_process_strong_roots(level, 1.8 - false, // Younger gens are not roots. 1.9 - true, // activate StrongRootsScope 1.10 - SharedHeap::SO_SystemClasses, 1.11 - &follow_root_closure, 1.12 - &follow_root_closure, 1.13 - &follow_klass_closure); 1.14 + gch->gen_process_roots(level, 1.15 + false, // Younger gens are not roots. 1.16 + true, // activate StrongRootsScope 1.17 + SharedHeap::SO_None, 1.18 + GenCollectedHeap::StrongRootsOnly, 1.19 + &follow_root_closure, 1.20 + &follow_root_closure, 1.21 + &follow_cld_closure); 1.22 1.23 // Process reference objects found during marking 1.24 { 1.25 @@ -291,13 +292,14 @@ 1.26 // are run. 1.27 adjust_pointer_closure.set_orig_generation(gch->get_gen(level)); 1.28 1.29 - gch->gen_process_strong_roots(level, 1.30 - false, // Younger gens are not roots. 1.31 - true, // activate StrongRootsScope 1.32 - SharedHeap::SO_AllClasses | SharedHeap::SO_Strings | SharedHeap::SO_AllCodeCache, 1.33 - &adjust_pointer_closure, 1.34 - &adjust_pointer_closure, 1.35 - &adjust_klass_closure); 1.36 + gch->gen_process_roots(level, 1.37 + false, // Younger gens are not roots. 1.38 + true, // activate StrongRootsScope 1.39 + SharedHeap::SO_AllCodeCache, 1.40 + GenCollectedHeap::StrongAndWeakRoots, 1.41 + &adjust_pointer_closure, 1.42 + &adjust_pointer_closure, 1.43 + &adjust_cld_closure); 1.44 1.45 gch->gen_process_weak_roots(&adjust_pointer_closure); 1.46