8216072: Remove TaskTerminator's assignment operator
Reviewed-by: tschatzl, rkennke, kbarrett
This commit is contained in:
parent
a62c3f5015
commit
85e19d8beb
src/hotspot/share/gc
@ -588,7 +588,7 @@ void G1ConcurrentMark::set_concurrency(uint active_tasks) {
|
||||
_num_active_tasks = active_tasks;
|
||||
// Need to update the three data structures below according to the
|
||||
// number of active threads for this phase.
|
||||
_terminator = TaskTerminator((int) active_tasks, _task_queues);
|
||||
_terminator.terminator()->reset_for_reuse((int) active_tasks);
|
||||
_first_overflow_barrier_sync.set_n_workers((int) active_tasks);
|
||||
_second_overflow_barrier_sync.set_n_workers((int) active_tasks);
|
||||
}
|
||||
|
@ -281,13 +281,3 @@ TaskTerminator::~TaskTerminator() {
|
||||
}
|
||||
}
|
||||
|
||||
// Move assignment
|
||||
TaskTerminator& TaskTerminator::operator=(const TaskTerminator& o) {
|
||||
if (_terminator != NULL) {
|
||||
delete _terminator;
|
||||
}
|
||||
_terminator = o.terminator();
|
||||
const_cast<TaskTerminator&>(o)._terminator = NULL;
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
@ -510,37 +510,21 @@ public:
|
||||
#endif
|
||||
};
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(push)
|
||||
// warning C4521: multiple copy constructors specified
|
||||
#pragma warning(disable:4521)
|
||||
// warning C4522: multiple assignment operators specified
|
||||
#pragma warning(disable:4522)
|
||||
#endif
|
||||
|
||||
class TaskTerminator : public StackObj {
|
||||
private:
|
||||
ParallelTaskTerminator* _terminator;
|
||||
|
||||
// Disable following copy constructors and assignment operator
|
||||
TaskTerminator(TaskTerminator& o) { }
|
||||
TaskTerminator(const TaskTerminator& o) { }
|
||||
TaskTerminator& operator=(TaskTerminator& o) { return *this; }
|
||||
// Noncopyable.
|
||||
TaskTerminator(const TaskTerminator&);
|
||||
TaskTerminator& operator=(const TaskTerminator&);
|
||||
public:
|
||||
TaskTerminator(uint n_threads, TaskQueueSetSuper* queue_set);
|
||||
~TaskTerminator();
|
||||
|
||||
// Move assignment
|
||||
TaskTerminator& operator=(const TaskTerminator& o);
|
||||
|
||||
ParallelTaskTerminator* terminator() const {
|
||||
return _terminator;
|
||||
}
|
||||
};
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(pop)
|
||||
#endif
|
||||
|
||||
|
||||
typedef GenericTaskQueue<oop, mtGC> OopTaskQueue;
|
||||
typedef GenericTaskQueueSet<OopTaskQueue, mtGC> OopTaskQueueSet;
|
||||
|
Loading…
x
Reference in New Issue
Block a user