src/share/vm/memory/defNewGeneration.cpp

changeset 6992
2c6ef90f030a
parent 6971
7426d8d76305
child 7031
ee019285a52c
     1.1 --- a/src/share/vm/memory/defNewGeneration.cpp	Tue Jul 01 09:03:55 2014 +0200
     1.2 +++ b/src/share/vm/memory/defNewGeneration.cpp	Mon Jul 07 10:12:40 2014 +0200
     1.3 @@ -613,6 +613,9 @@
     1.4  
     1.5    KlassScanClosure klass_scan_closure(&fsc_with_no_gc_barrier,
     1.6                                        gch->rem_set()->klass_rem_set());
     1.7 +  CLDToKlassAndOopClosure cld_scan_closure(&klass_scan_closure,
     1.8 +                                           &fsc_with_no_gc_barrier,
     1.9 +                                           false);
    1.10  
    1.11    set_promo_failure_scan_stack_closure(&fsc_with_no_gc_barrier);
    1.12    FastEvacuateFollowersClosure evacuate_followers(gch, _level, this,
    1.13 @@ -622,16 +625,15 @@
    1.14    assert(gch->no_allocs_since_save_marks(0),
    1.15           "save marks have not been newly set.");
    1.16  
    1.17 -  int so = SharedHeap::SO_AllClasses | SharedHeap::SO_Strings | SharedHeap::SO_ScavengeCodeCache;
    1.18 -
    1.19 -  gch->gen_process_strong_roots(_level,
    1.20 -                                true,  // Process younger gens, if any,
    1.21 -                                       // as strong roots.
    1.22 -                                true,  // activate StrongRootsScope
    1.23 -                                SharedHeap::ScanningOption(so),
    1.24 -                                &fsc_with_no_gc_barrier,
    1.25 -                                &fsc_with_gc_barrier,
    1.26 -                                &klass_scan_closure);
    1.27 +  gch->gen_process_roots(_level,
    1.28 +                         true,  // Process younger gens, if any,
    1.29 +                                // as strong roots.
    1.30 +                         true,  // activate StrongRootsScope
    1.31 +                         SharedHeap::SO_ScavengeCodeCache,
    1.32 +                         GenCollectedHeap::StrongAndWeakRoots,
    1.33 +                         &fsc_with_no_gc_barrier,
    1.34 +                         &fsc_with_gc_barrier,
    1.35 +                         &cld_scan_closure);
    1.36  
    1.37    // "evacuate followers".
    1.38    evacuate_followers.do_void();

mercurial