173 inline bool is_marked_weak(HeapWord* addr) const;
174
175 bool is_bitmap_clear_range(const HeapWord* start, const HeapWord* end) const;
176
177 // Return the first marked address in the range [addr, limit), or limit if none found.
178 HeapWord* get_next_marked_addr(const HeapWord* addr,
179 const HeapWord* limit) const;
180
181 // Return the last marked address in the range [limit, addr], or addr+1 if none found.
182 HeapWord* get_prev_marked_addr(const HeapWord* limit,
183 const HeapWord* addr) const;
184
185 bm_word_t inverted_bit_mask_for_range(idx_t beg, idx_t end) const;
186 void clear_range_within_word (idx_t beg, idx_t end);
187 void clear_range (idx_t beg, idx_t end);
188 void clear_range_large(MemRegion mr);
189
190 void clear_range_of_words(idx_t beg, idx_t end);
191 void clear_large_range_of_words(idx_t beg, idx_t end);
192 static void clear_range_of_words(bm_word_t* map, idx_t beg, idx_t end);
193
194 };
195
196 #endif // SHARE_GC_SHENANDOAH_SHENANDOAHMARKBITMAP_HPP
|
173 inline bool is_marked_weak(HeapWord* addr) const;
174
175 bool is_bitmap_clear_range(const HeapWord* start, const HeapWord* end) const;
176
177 // Return the first marked address in the range [addr, limit), or limit if none found.
178 HeapWord* get_next_marked_addr(const HeapWord* addr,
179 const HeapWord* limit) const;
180
181 // Return the last marked address in the range [limit, addr], or addr+1 if none found.
182 HeapWord* get_prev_marked_addr(const HeapWord* limit,
183 const HeapWord* addr) const;
184
185 bm_word_t inverted_bit_mask_for_range(idx_t beg, idx_t end) const;
186 void clear_range_within_word (idx_t beg, idx_t end);
187 void clear_range (idx_t beg, idx_t end);
188 void clear_range_large(MemRegion mr);
189
190 void clear_range_of_words(idx_t beg, idx_t end);
191 void clear_large_range_of_words(idx_t beg, idx_t end);
192 static void clear_range_of_words(bm_word_t* map, idx_t beg, idx_t end);
193 };
194
195 #endif // SHARE_GC_SHENANDOAH_SHENANDOAHMARKBITMAP_HPP
|