--- old/src/share/vm/gc/g1/g1ConcurrentMark.hpp 2017-03-08 10:51:31.651202910 +0100 +++ new/src/share/vm/gc/g1/g1ConcurrentMark.hpp 2017-03-08 10:51:31.533199414 +0100 @@ -39,12 +39,6 @@ class G1OldTracer; class G1SurvivorRegions; -#ifdef _MSC_VER -#pragma warning(push) -// warning C4522: multiple assignment operators specified -#pragma warning(disable:4522) -#endif - // This is a container class for either an oop or a continuation address for // mark stack entries. Both are pushed onto the mark stack. class G1TaskQueueEntry VALUE_OBJ_CLASS_SPEC { @@ -64,9 +58,8 @@ static G1TaskQueueEntry from_slice(HeapWord* what) { return G1TaskQueueEntry(what); } static G1TaskQueueEntry from_oop(oop obj) { return G1TaskQueueEntry(obj); } - G1TaskQueueEntry& operator=(const G1TaskQueueEntry& t) { + void assign(const G1TaskQueueEntry& t) { _holder = t._holder; - return *this; } volatile G1TaskQueueEntry& operator=(const volatile G1TaskQueueEntry& t) volatile { @@ -89,10 +82,6 @@ bool is_null() const { return _holder == NULL; } }; -#ifdef _MSC_VER -#pragma warning(pop) -#endif - typedef GenericTaskQueue G1CMTaskQueue; typedef GenericTaskQueueSet G1CMTaskQueueSet;