src/share/vm/memory/genMarkSweep.cpp

changeset 6971
7426d8d76305
parent 6968
9fec19bb0659
child 6972
64ac9c55d666
     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;

mercurial