8216072: Remove TaskTerminator's assignment operator

Reviewed-by: tschatzl, rkennke, kbarrett
This commit is contained in:
Zhengyu Gu 2019-01-31 10:18:41 -05:00
parent a62c3f5015
commit 85e19d8beb
3 changed files with 4 additions and 30 deletions

View file

@ -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;