189 size_t occ_fine() const;
190 size_t occ_coarse() const;
191 size_t occ_sparse() const;
192
193 static jint n_coarsenings() { return _n_coarsenings; }
194
195 // Returns size in bytes.
196 // Not const because it takes a lock.
197 size_t mem_size() const;
198 static size_t static_mem_size();
199 static size_t fl_mem_size();
200
201 bool contains_reference(OopOrNarrowOopStar from) const;
202 bool contains_reference_locked(OopOrNarrowOopStar from) const;
203
204 void clear();
205
206 // Specifically clear the from_card_cache.
207 void clear_fcc();
208
209 // "from_hr" is being cleared; remove any entries from it.
210 void clear_incoming_entry(HeapRegion* from_hr);
211
212 void do_cleanup_work(HRRSCleanupTask* hrrs_cleanup_task);
213
214 // Declare the heap size (in # of regions) to the OtherRegionsTable.
215 // (Uses it to initialize from_card_cache).
216 static void init_from_card_cache(uint max_regions);
217
218 // Declares that only regions i s.t. 0 <= i < new_n_regs are in use.
219 // Make sure any entries for higher regions are invalid.
220 static void shrink_from_card_cache(uint new_num_regions);
221
222 static void print_from_card_cache();
223 };
224
225 class HeapRegionRemSet : public CHeapObj<mtGC> {
226 friend class VMStructs;
227 friend class HeapRegionRemSetIterator;
228
229 public:
230 enum Event {
231 Event_EvacStart, Event_EvacEnd, Event_RSUpdateEnd
|
189 size_t occ_fine() const;
190 size_t occ_coarse() const;
191 size_t occ_sparse() const;
192
193 static jint n_coarsenings() { return _n_coarsenings; }
194
195 // Returns size in bytes.
196 // Not const because it takes a lock.
197 size_t mem_size() const;
198 static size_t static_mem_size();
199 static size_t fl_mem_size();
200
201 bool contains_reference(OopOrNarrowOopStar from) const;
202 bool contains_reference_locked(OopOrNarrowOopStar from) const;
203
204 void clear();
205
206 // Specifically clear the from_card_cache.
207 void clear_fcc();
208
209 void do_cleanup_work(HRRSCleanupTask* hrrs_cleanup_task);
210
211 // Declare the heap size (in # of regions) to the OtherRegionsTable.
212 // (Uses it to initialize from_card_cache).
213 static void init_from_card_cache(uint max_regions);
214
215 // Declares that only regions i s.t. 0 <= i < new_n_regs are in use.
216 // Make sure any entries for higher regions are invalid.
217 static void shrink_from_card_cache(uint new_num_regions);
218
219 static void print_from_card_cache();
220 };
221
222 class HeapRegionRemSet : public CHeapObj<mtGC> {
223 friend class VMStructs;
224 friend class HeapRegionRemSetIterator;
225
226 public:
227 enum Event {
228 Event_EvacStart, Event_EvacEnd, Event_RSUpdateEnd
|