94 class G1EvacSummary;
95
96 typedef OverflowTaskQueue<StarTask, mtGC> RefToScanQueue;
97 typedef GenericTaskQueueSet<RefToScanQueue, mtGC> RefToScanQueueSet;
98
99 typedef int RegionIdx_t; // needs to hold [ 0..max_regions() )
100 typedef int CardIdx_t; // needs to hold [ 0..CardsPerRegion )
101
102 // The G1 STW is alive closure.
103 // An instance is embedded into the G1CH and used as the
104 // (optional) _is_alive_non_header closure in the STW
105 // reference processor. It is also extensively used during
106 // reference processing during STW evacuation pauses.
107 class G1STWIsAliveClosure: public BoolObjectClosure {
108 G1CollectedHeap* _g1;
109 public:
110 G1STWIsAliveClosure(G1CollectedHeap* g1) : _g1(g1) {}
111 bool do_object_b(oop p);
112 };
113
114 class G1RefineCardConcurrentlyClosure;
115
116 class G1RegionMappingChangedListener : public G1MappingChangedListener {
117 private:
118 void reset_from_card_cache(uint start_idx, size_t num_regions);
119 public:
120 virtual void on_commit(uint start_idx, size_t num_regions, bool zero_filled);
121 };
122
123 class G1CollectedHeap : public CollectedHeap {
124 friend class G1FreeCollectionSetTask;
125 friend class VM_CollectForMetadataAllocation;
126 friend class VM_G1CollectForAllocation;
127 friend class VM_G1CollectFull;
128 friend class VM_G1IncCollectionPause;
129 friend class VMStructs;
130 friend class MutatorAllocRegion;
131 friend class G1GCAllocRegion;
132 friend class G1HeapVerifier;
133
134 // Closures used in implementation.
135 friend class G1ParScanThreadState;
|
94 class G1EvacSummary;
95
96 typedef OverflowTaskQueue<StarTask, mtGC> RefToScanQueue;
97 typedef GenericTaskQueueSet<RefToScanQueue, mtGC> RefToScanQueueSet;
98
99 typedef int RegionIdx_t; // needs to hold [ 0..max_regions() )
100 typedef int CardIdx_t; // needs to hold [ 0..CardsPerRegion )
101
102 // The G1 STW is alive closure.
103 // An instance is embedded into the G1CH and used as the
104 // (optional) _is_alive_non_header closure in the STW
105 // reference processor. It is also extensively used during
106 // reference processing during STW evacuation pauses.
107 class G1STWIsAliveClosure: public BoolObjectClosure {
108 G1CollectedHeap* _g1;
109 public:
110 G1STWIsAliveClosure(G1CollectedHeap* g1) : _g1(g1) {}
111 bool do_object_b(oop p);
112 };
113
114 class G1RegionMappingChangedListener : public G1MappingChangedListener {
115 private:
116 void reset_from_card_cache(uint start_idx, size_t num_regions);
117 public:
118 virtual void on_commit(uint start_idx, size_t num_regions, bool zero_filled);
119 };
120
121 class G1CollectedHeap : public CollectedHeap {
122 friend class G1FreeCollectionSetTask;
123 friend class VM_CollectForMetadataAllocation;
124 friend class VM_G1CollectForAllocation;
125 friend class VM_G1CollectFull;
126 friend class VM_G1IncCollectionPause;
127 friend class VMStructs;
128 friend class MutatorAllocRegion;
129 friend class G1GCAllocRegion;
130 friend class G1HeapVerifier;
131
132 // Closures used in implementation.
133 friend class G1ParScanThreadState;
|