< prev index next >
src/share/vm/gc/g1/g1ConcurrentMark.hpp
Print this page
@@ -37,16 +37,10 @@
class G1ConcurrentMark;
class ConcurrentGCTimer;
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 {
private:
void* _holder;
@@ -62,13 +56,12 @@
G1TaskQueueEntry() : _holder(NULL) { }
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 {
_holder = t._holder;
return *this;
@@ -87,14 +80,10 @@
bool is_oop() const { return !is_array_slice(); }
bool is_array_slice() const { return ((uintptr_t)_holder & ArraySliceBit) != 0; }
bool is_null() const { return _holder == NULL; }
};
-#ifdef _MSC_VER
-#pragma warning(pop)
-#endif
-
typedef GenericTaskQueue<G1TaskQueueEntry, mtGC> G1CMTaskQueue;
typedef GenericTaskQueueSet<G1CMTaskQueue, mtGC> G1CMTaskQueueSet;
// Closure used by CM during concurrent reference discovery
// and reference processing (during remarking) to determine
< prev index next >