1.1 --- a/src/share/vm/memory/genMarkSweep.cpp Mon Feb 10 12:58:09 2014 +0100 1.2 +++ b/src/share/vm/memory/genMarkSweep.cpp Thu Feb 13 17:44:39 2014 +0100 1.3 @@ -212,7 +212,6 @@ 1.4 true, // activate StrongRootsScope 1.5 SharedHeap::SO_SystemClasses, 1.6 &follow_root_closure, 1.7 - true, // walk code active on stacks 1.8 &follow_root_closure, 1.9 &follow_klass_closure); 1.10 1.11 @@ -295,18 +294,12 @@ 1.12 gch->gen_process_strong_roots(level, 1.13 false, // Younger gens are not roots. 1.14 true, // activate StrongRootsScope 1.15 - SharedHeap::SO_AllClasses, 1.16 + SharedHeap::SO_AllClasses | SharedHeap::SO_AllCodeCache, 1.17 &adjust_pointer_closure, 1.18 - false, // do not walk code 1.19 &adjust_pointer_closure, 1.20 &adjust_klass_closure); 1.21 1.22 - // Now adjust pointers in remaining weak roots. (All of which should 1.23 - // have been cleared if they pointed to non-surviving objects.) 1.24 - CodeBlobToOopClosure adjust_code_pointer_closure(&adjust_pointer_closure, 1.25 - /*do_marking=*/ false); 1.26 - gch->gen_process_weak_roots(&adjust_pointer_closure, 1.27 - &adjust_code_pointer_closure); 1.28 + gch->gen_process_weak_roots(&adjust_pointer_closure); 1.29 1.30 adjust_marks(); 1.31 GenAdjustPointersClosure blk;