equal
deleted
inserted
replaced
30 #include "gc/g1/g1HeapVerifier.hpp" |
30 #include "gc/g1/g1HeapVerifier.hpp" |
31 #include "gc/g1/g1RegionMarkStatsCache.hpp" |
31 #include "gc/g1/g1RegionMarkStatsCache.hpp" |
32 #include "gc/g1/heapRegionSet.hpp" |
32 #include "gc/g1/heapRegionSet.hpp" |
33 #include "gc/shared/taskqueue.hpp" |
33 #include "gc/shared/taskqueue.hpp" |
34 #include "memory/allocation.hpp" |
34 #include "memory/allocation.hpp" |
|
35 #include "utilities/compilerWarnings.hpp" |
35 |
36 |
36 class ConcurrentGCTimer; |
37 class ConcurrentGCTimer; |
37 class G1ConcurrentMarkThread; |
38 class G1ConcurrentMarkThread; |
38 class G1CollectedHeap; |
39 class G1CollectedHeap; |
39 class G1CMOopClosure; |
40 class G1CMOopClosure; |
41 class G1ConcurrentMark; |
42 class G1ConcurrentMark; |
42 class G1OldTracer; |
43 class G1OldTracer; |
43 class G1RegionToSpaceMapper; |
44 class G1RegionToSpaceMapper; |
44 class G1SurvivorRegions; |
45 class G1SurvivorRegions; |
45 |
46 |
46 #ifdef _MSC_VER |
47 PRAGMA_DIAG_PUSH |
47 #pragma warning(push) |
|
48 // warning C4522: multiple assignment operators specified |
48 // warning C4522: multiple assignment operators specified |
49 #pragma warning(disable:4522) |
49 PRAGMA_DISABLE_MSVC_WARNING(4522) |
50 #endif |
|
51 |
50 |
52 // This is a container class for either an oop or a continuation address for |
51 // This is a container class for either an oop or a continuation address for |
53 // mark stack entries. Both are pushed onto the mark stack. |
52 // mark stack entries. Both are pushed onto the mark stack. |
54 class G1TaskQueueEntry { |
53 class G1TaskQueueEntry { |
55 private: |
54 private: |
91 bool is_oop() const { return !is_array_slice(); } |
90 bool is_oop() const { return !is_array_slice(); } |
92 bool is_array_slice() const { return ((uintptr_t)_holder & ArraySliceBit) != 0; } |
91 bool is_array_slice() const { return ((uintptr_t)_holder & ArraySliceBit) != 0; } |
93 bool is_null() const { return _holder == NULL; } |
92 bool is_null() const { return _holder == NULL; } |
94 }; |
93 }; |
95 |
94 |
96 #ifdef _MSC_VER |
95 PRAGMA_DIAG_POP |
97 #pragma warning(pop) |
|
98 #endif |
|
99 |
96 |
100 typedef GenericTaskQueue<G1TaskQueueEntry, mtGC> G1CMTaskQueue; |
97 typedef GenericTaskQueue<G1TaskQueueEntry, mtGC> G1CMTaskQueue; |
101 typedef GenericTaskQueueSet<G1CMTaskQueue, mtGC> G1CMTaskQueueSet; |
98 typedef GenericTaskQueueSet<G1CMTaskQueue, mtGC> G1CMTaskQueueSet; |
102 |
99 |
103 // Closure used by CM during concurrent reference discovery |
100 // Closure used by CM during concurrent reference discovery |