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.");