< prev index next >
src/hotspot/share/gc/g1/g1ConcurrentMark.cpp
Print this page
*** 1543,1553 ****
--- 1543,1557 ----
// We need to reset the concurrency level before each
// proxy task execution, so that the termination protocol
// and overflow handling in G1CMTask::do_marking_step() knows
// how many workers to wait for.
_cm->set_concurrency(ergo_workers);
+ if (ergo_workers == 1) {
+ proc_task_proxy.work(0);
+ } else {
_workers->run_task(&proc_task_proxy, ergo_workers);
+ }
}
void G1ConcurrentMark::weak_refs_work(bool clear_all_soft_refs) {
ResourceMark rm;
HandleMark hm;
< prev index next >