205
206 // Returns size of the actual remembered set containers in bytes.
207 size_t mem_size() const;
208 // Returns the size of static data in bytes.
209 static size_t static_mem_size();
210 // Returns the size of the free list content in bytes.
211 static size_t fl_mem_size();
212
213 // Clear the entire contents of this remembered set.
214 void clear();
215
216 void do_cleanup_work(HRRSCleanupTask* hrrs_cleanup_task);
217 };
218
219 class HeapRegionRemSet : public CHeapObj<mtGC> {
220 friend class VMStructs;
221 friend class HeapRegionRemSetIterator;
222
223 public:
224 enum Event {
225 Event_EvacStart, Event_EvacEnd, Event_RSUpdateEnd
226 };
227
228 private:
229 G1BlockOffsetSharedArray* _bosa;
230
231 // A set of code blobs (nmethods) whose code contains pointers into
232 // the region that owns this RSet.
233 G1CodeRootSet _code_roots;
234
235 Mutex _m;
236
237 OtherRegionsTable _other_regions;
238
239 enum ParIterState { Unclaimed, Claimed, Complete };
240 volatile ParIterState _iter_state;
241 volatile size_t _iter_claimed;
242
243 // Unused unless G1RecordHRRSOops is true.
244
245 static const int MaxRecorded = 1000000;
|
205
206 // Returns size of the actual remembered set containers in bytes.
207 size_t mem_size() const;
208 // Returns the size of static data in bytes.
209 static size_t static_mem_size();
210 // Returns the size of the free list content in bytes.
211 static size_t fl_mem_size();
212
213 // Clear the entire contents of this remembered set.
214 void clear();
215
216 void do_cleanup_work(HRRSCleanupTask* hrrs_cleanup_task);
217 };
218
219 class HeapRegionRemSet : public CHeapObj<mtGC> {
220 friend class VMStructs;
221 friend class HeapRegionRemSetIterator;
222
223 public:
224 enum Event {
225 Event_EvacStart, Event_EvacEnd, Event_RSUpdateEnd, Event_illegal
226 };
227
228 private:
229 G1BlockOffsetSharedArray* _bosa;
230
231 // A set of code blobs (nmethods) whose code contains pointers into
232 // the region that owns this RSet.
233 G1CodeRootSet _code_roots;
234
235 Mutex _m;
236
237 OtherRegionsTable _other_regions;
238
239 enum ParIterState { Unclaimed, Claimed, Complete };
240 volatile ParIterState _iter_state;
241 volatile size_t _iter_claimed;
242
243 // Unused unless G1RecordHRRSOops is true.
244
245 static const int MaxRecorded = 1000000;
|