src/share/vm/memory/genMarkSweep.cpp

Print this page

        

@@ -205,17 +205,18 @@
   follow_root_closure.set_orig_generation(gch->get_gen(level));
 
   // Need new claim bits before marking starts.
   ClassLoaderDataGraph::clear_claimed_marks();
 
-  gch->gen_process_strong_roots(level,
+  gch->gen_process_roots(level,
                                 false, // Younger gens are not roots.
                                 true,  // activate StrongRootsScope
-                                SharedHeap::SO_SystemClasses,
+                         SharedHeap::SO_None,
+                         GenCollectedHeap::StrongRootsOnly,
                                 &follow_root_closure,
                                 &follow_root_closure,
-                                &follow_klass_closure);
+                         &follow_cld_closure);
 
   // Process reference objects found during marking
   {
     ref_processor()->setup_policy(clear_all_softrefs);
     const ReferenceProcessorStats& stats =

@@ -289,17 +290,18 @@
   // use OopsInGenClosure constructor which takes a generation,
   // as the Universe has not been created when the static constructors
   // are run.
   adjust_pointer_closure.set_orig_generation(gch->get_gen(level));
 
-  gch->gen_process_strong_roots(level,
+  gch->gen_process_roots(level,
                                 false, // Younger gens are not roots.
                                 true,  // activate StrongRootsScope
-                                SharedHeap::SO_AllClasses | SharedHeap::SO_Strings | SharedHeap::SO_AllCodeCache,
+                         SharedHeap::SO_AllCodeCache,
+                         GenCollectedHeap::StrongAndWeakRoots,
                                 &adjust_pointer_closure,
                                 &adjust_pointer_closure,
-                                &adjust_klass_closure);
+                         &adjust_cld_closure);
 
   gch->gen_process_weak_roots(&adjust_pointer_closure);
 
   adjust_marks();
   GenAdjustPointersClosure blk;