--- old/src/hotspot/share/gc/g1/g1CollectedHeap.cpp 2018-11-28 13:52:37.484247134 -0500 +++ new/src/hotspot/share/gc/g1/g1CollectedHeap.cpp 2018-11-28 13:52:37.219247019 -0500 @@ -3206,7 +3206,7 @@ G1ParScanThreadStateSet* _pss; RefToScanQueueSet* _queues; G1RootProcessor* _root_processor; - ParallelTaskTerminator _terminator; + TaskTerminator _terminator; uint _n_workers; public: @@ -3251,7 +3251,7 @@ size_t evac_term_attempts = 0; { double start = os::elapsedTime(); - G1ParEvacuateFollowersClosure evac(_g1h, pss, _queues, &_terminator); + G1ParEvacuateFollowersClosure evac(_g1h, pss, _queues, _terminator.terminator()); evac.do_void(); evac_term_attempts = evac.term_attempts(); @@ -3563,8 +3563,8 @@ assert(_workers->active_workers() >= ergo_workers, "Ergonomically chosen workers (%u) should be less than or equal to active workers (%u)", ergo_workers, _workers->active_workers()); - ParallelTaskTerminator terminator(ergo_workers, _queues); - G1STWRefProcTaskProxy proc_task_proxy(proc_task, _g1h, _pss, _queues, &terminator); + TaskTerminator terminator(ergo_workers, _queues); + G1STWRefProcTaskProxy proc_task_proxy(proc_task, _g1h, _pss, _queues, terminator.terminator()); _workers->run_task(&proc_task_proxy, ergo_workers); }