src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp

Print this page
rev 7107 : imported patch 8058298
rev 7108 : imported patch rev1
rev 7109 : imported patch rev2

*** 4169,4188 **** } void G1CollectedHeap::remove_self_forwarding_pointers() { double remove_self_forwards_start = os::elapsedTime(); - HeapRegionClaimer hrclaimer; - G1ParRemoveSelfForwardPtrsTask rsfp_task(this, &hrclaimer); - if (G1CollectedHeap::use_parallel_gc_threads()) { set_par_threads(); ! hrclaimer.initialize(workers()->active_workers()); workers()->run_task(&rsfp_task); set_par_threads(0); } else { ! rsfp_task.work(0); } // Now restore saved marks, if any. assert(_objs_with_preserved_marks.size() == _preserved_marks_of_objs.size(), "Both or none."); --- 4169,4186 ---- } void G1CollectedHeap::remove_self_forwarding_pointers() { double remove_self_forwards_start = os::elapsedTime(); if (G1CollectedHeap::use_parallel_gc_threads()) { set_par_threads(); ! G1ParRemoveSelfForwardPtrsTask rsfp_task(this); workers()->run_task(&rsfp_task); set_par_threads(0); } else { ! RemoveSelfForwardPtrHRClosure rsfp(this); ! _g1h->collection_set_iterate(&rsfp); } // Now restore saved marks, if any. assert(_objs_with_preserved_marks.size() == _preserved_marks_of_objs.size(), "Both or none.");