< prev index next >

src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp

Print this page

        

*** 3069,3082 **** int n_workers = workers->active_workers(); CMSParInitialMarkTask tsk(this, n_workers); gch->set_par_threads(n_workers); initialize_sequential_subtasks_for_young_gen_rescan(n_workers); if (n_workers > 1) { ! GenCollectedHeap::StrongRootsScope srs(gch); workers->run_task(&tsk); } else { ! GenCollectedHeap::StrongRootsScope srs(gch); tsk.work(0); } gch->set_par_threads(0); } else { // The serial version. --- 3069,3082 ---- int n_workers = workers->active_workers(); CMSParInitialMarkTask tsk(this, n_workers); gch->set_par_threads(n_workers); initialize_sequential_subtasks_for_young_gen_rescan(n_workers); if (n_workers > 1) { ! GenCollectedHeap::StrongRootsScope srs; workers->run_task(&tsk); } else { ! GenCollectedHeap::StrongRootsScope srs; tsk.work(0); } gch->set_par_threads(0); } else { // The serial version.
*** 5167,5181 **** if (n_workers > 1) { // Make refs discovery MT-safe, if it isn't already: it may not // necessarily be so, since it's possible that we are doing // ST marking. ReferenceProcessorMTDiscoveryMutator mt(ref_processor(), true); ! GenCollectedHeap::StrongRootsScope srs(gch); workers->run_task(&tsk); } else { ReferenceProcessorMTDiscoveryMutator mt(ref_processor(), false); ! GenCollectedHeap::StrongRootsScope srs(gch); tsk.work(0); } gch->set_par_threads(0); // 0 ==> non-parallel. // restore, single-threaded for now, any preserved marks --- 5167,5181 ---- if (n_workers > 1) { // Make refs discovery MT-safe, if it isn't already: it may not // necessarily be so, since it's possible that we are doing // ST marking. ReferenceProcessorMTDiscoveryMutator mt(ref_processor(), true); ! GenCollectedHeap::StrongRootsScope srs; workers->run_task(&tsk); } else { ReferenceProcessorMTDiscoveryMutator mt(ref_processor(), false); ! GenCollectedHeap::StrongRootsScope srs; tsk.work(0); } gch->set_par_threads(0); // 0 ==> non-parallel. // restore, single-threaded for now, any preserved marks
*** 5239,5249 **** GCTraceTime t("root rescan", PrintGCDetails, false, _gc_timer_cm, _gc_tracer_cm->gc_id()); verify_work_stacks_empty(); gch->rem_set()->prepare_for_younger_refs_iterate(false); // Not parallel. ! GenCollectedHeap::StrongRootsScope srs(gch); gch->gen_process_roots(_cmsGen->level(), true, // younger gens as roots false, // use the local StrongRootsScope GenCollectedHeap::ScanningOption(roots_scanning_options()), --- 5239,5249 ---- GCTraceTime t("root rescan", PrintGCDetails, false, _gc_timer_cm, _gc_tracer_cm->gc_id()); verify_work_stacks_empty(); gch->rem_set()->prepare_for_younger_refs_iterate(false); // Not parallel. ! GenCollectedHeap::StrongRootsScope srs; gch->gen_process_roots(_cmsGen->level(), true, // younger gens as roots false, // use the local StrongRootsScope GenCollectedHeap::ScanningOption(roots_scanning_options()),
< prev index next >