< prev index next >

src/share/vm/gc/serial/genMarkSweep.cpp

Print this page
rev 11983 : 8166276: Refactor gen_process_roots to allow simpler fix for 8165949
Reviewed-by:
Contributed-by: jesper.wilhelmsson@oracle.com
rev 11985 : 8165949: Serial and ConcMarkSweep do not unload strings when class unloading is disabled
Reviewed-by:

*** 194,207 **** ClassLoaderDataGraph::clear_claimed_marks(); { StrongRootsScope srs(1); ! gch->old_process_roots(&srs, ! false, // Younger gens are not roots. GenCollectedHeap::SO_None, ! ClassUnloading, &follow_root_closure, &follow_cld_closure); } // Process reference objects found during marking --- 194,208 ---- ClassLoaderDataGraph::clear_claimed_marks(); { StrongRootsScope srs(1); ! gch->full_process_roots(&srs, ! ClassUnloading, // only strong roots if ClassUnloading ! // is enabled GenCollectedHeap::SO_None, ! false, // not the adjust phase &follow_root_closure, &follow_cld_closure); } // Process reference objects found during marking
*** 291,304 **** adjust_pointer_closure.set_orig_generation(gch->old_gen()); { StrongRootsScope srs(1); ! gch->old_process_roots(&srs, ! false, // Younger gens are not roots. GenCollectedHeap::SO_AllCodeCache, ! false, &adjust_pointer_closure, &adjust_cld_closure); } gch->gen_process_weak_roots(&adjust_pointer_closure); --- 292,305 ---- adjust_pointer_closure.set_orig_generation(gch->old_gen()); { StrongRootsScope srs(1); ! gch->full_process_roots(&srs, ! false, // all roots GenCollectedHeap::SO_AllCodeCache, ! true, // this is the adjust phase &adjust_pointer_closure, &adjust_cld_closure); } gch->gen_process_weak_roots(&adjust_pointer_closure);
< prev index next >