< prev index next >
src/share/vm/gc/g1/g1ConcurrentMark.hpp
Print this page
*** 37,52 ****
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;
--- 37,46 ----
*** 62,74 ****
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) {
_holder = t._holder;
- return *this;
}
volatile G1TaskQueueEntry& operator=(const volatile G1TaskQueueEntry& t) volatile {
_holder = t._holder;
return *this;
--- 56,67 ----
G1TaskQueueEntry() : _holder(NULL) { }
static G1TaskQueueEntry from_slice(HeapWord* what) { return G1TaskQueueEntry(what); }
static G1TaskQueueEntry from_oop(oop obj) { return G1TaskQueueEntry(obj); }
! void assign(const G1TaskQueueEntry& t) {
_holder = t._holder;
}
volatile G1TaskQueueEntry& operator=(const volatile G1TaskQueueEntry& t) volatile {
_holder = t._holder;
return *this;
*** 87,100 ****
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
--- 80,89 ----
< prev index next >