142 // objects.
143 void scrub(CardTableModRefBS* ctbs, BitMap* region_bm, BitMap* card_bm);
144
145 size_t occupied() const;
146 size_t occ_fine() const;
147 size_t occ_coarse() const;
148 size_t occ_sparse() const;
149
150 static jint n_coarsenings() { return _n_coarsenings; }
151
152 // Returns size in bytes.
153 // Not const because it takes a lock.
154 size_t mem_size() const;
155 static size_t static_mem_size();
156 static size_t fl_mem_size();
157
158 bool contains_reference(OopOrNarrowOopStar from) const;
159 bool contains_reference_locked(OopOrNarrowOopStar from) const;
160
161 void clear();
162
163 // Specifically clear the from_card_cache.
164 void clear_fcc();
165
166 // "from_hr" is being cleared; remove any entries from it.
167 void clear_incoming_entry(HeapRegion* from_hr);
168
169 void do_cleanup_work(HRRSCleanupTask* hrrs_cleanup_task);
170
171 // Declare the heap size (in # of regions) to the OtherRegionsTable.
172 // (Uses it to initialize from_card_cache).
173 static void init_from_card_cache(size_t max_regions);
174
175 // Declares that only regions i s.t. 0 <= i < new_n_regs are in use.
176 // Make sure any entries for higher regions are invalid.
177 static void shrink_from_card_cache(size_t new_n_regs);
178
179 static void print_from_card_cache();
180 };
181
|
142 // objects.
143 void scrub(CardTableModRefBS* ctbs, BitMap* region_bm, BitMap* card_bm);
144
145 size_t occupied() const;
146 size_t occ_fine() const;
147 size_t occ_coarse() const;
148 size_t occ_sparse() const;
149
150 static jint n_coarsenings() { return _n_coarsenings; }
151
152 // Returns size in bytes.
153 // Not const because it takes a lock.
154 size_t mem_size() const;
155 static size_t static_mem_size();
156 static size_t fl_mem_size();
157
158 bool contains_reference(OopOrNarrowOopStar from) const;
159 bool contains_reference_locked(OopOrNarrowOopStar from) const;
160
161 void clear();
162 void clear_locked();
163
164 // Specifically clear the from_card_cache.
165 void clear_fcc();
166
167 // "from_hr" is being cleared; remove any entries from it.
168 void clear_incoming_entry(HeapRegion* from_hr);
169
170 void do_cleanup_work(HRRSCleanupTask* hrrs_cleanup_task);
171
172 // Declare the heap size (in # of regions) to the OtherRegionsTable.
173 // (Uses it to initialize from_card_cache).
174 static void init_from_card_cache(size_t max_regions);
175
176 // Declares that only regions i s.t. 0 <= i < new_n_regs are in use.
177 // Make sure any entries for higher regions are invalid.
178 static void shrink_from_card_cache(size_t new_n_regs);
179
180 static void print_from_card_cache();
181 };
182
|