diff -r c036b84c6bbf -r 758deedaae84 src/hotspot/share/gc/g1/g1CollectedHeap.cpp --- a/src/hotspot/share/gc/g1/g1CollectedHeap.cpp Wed May 09 11:24:12 2018 +0200 +++ b/src/hotspot/share/gc/g1/g1CollectedHeap.cpp Wed May 09 13:37:05 2018 +0200 @@ -3791,7 +3791,6 @@ // Executes the given task using concurrent marking worker threads. virtual void execute(ProcessTask& task); - virtual void execute(EnqueueTask& task); }; // Gang task for possibly parallel reference processing @@ -3856,35 +3855,6 @@ _workers->run_task(&proc_task_proxy); } -// Gang task for parallel reference enqueueing. - -class G1STWRefEnqueueTaskProxy: public AbstractGangTask { - typedef AbstractRefProcTaskExecutor::EnqueueTask EnqueueTask; - EnqueueTask& _enq_task; - -public: - G1STWRefEnqueueTaskProxy(EnqueueTask& enq_task) : - AbstractGangTask("Enqueue reference objects in parallel"), - _enq_task(enq_task) - { } - - virtual void work(uint worker_id) { - _enq_task.work(worker_id); - } -}; - -// Driver routine for parallel reference enqueueing. -// Creates an instance of the ref enqueueing gang -// task and has the worker threads execute it. - -void G1STWRefProcTaskExecutor::execute(EnqueueTask& enq_task) { - assert(_workers != NULL, "Need parallel worker threads."); - - G1STWRefEnqueueTaskProxy enq_task_proxy(enq_task); - - _workers->run_task(&enq_task_proxy); -} - // End of weak reference support closures void G1CollectedHeap::process_discovered_references(G1ParScanThreadStateSet* per_thread_states) {