src/share/vm/memory/genMarkSweep.cpp

changeset 6992
2c6ef90f030a
parent 6972
64ac9c55d666
child 7535
7ae4e26cb1e0
child 7659
38d6febe66af
     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  

mercurial