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