81 // Return the address corresponding to the next marked bit at or after
82 // "addr", and before "limit", if "limit" is non-null. If there is no
83 // such bit, returns "limit" if that is non-null, or else "endWord()".
84 inline HeapWord* get_next_marked_addr(const HeapWord* addr,
85 HeapWord* limit) const;
86
87 void print_on_error(outputStream* st, const char* prefix) const;
88
89 // Write marks.
90 inline void mark(HeapWord* addr);
91 inline void mark(oop obj);
92 inline void clear(HeapWord* addr);
93 inline void clear(oop obj);
94 inline bool par_mark(HeapWord* addr);
95 inline bool par_mark(oop obj);
96
97 // Clear bitmap.
98 void clear() { do_clear(_covered, true); }
99 void clear_range(MemRegion mr) { do_clear(mr, false); }
100 void clear_range_large(MemRegion mr) { do_clear(mr, true); }
101 };
102
103 #endif // SHARE_GC_SHARED_MARKBITMAP_HPP
|
81 // Return the address corresponding to the next marked bit at or after
82 // "addr", and before "limit", if "limit" is non-null. If there is no
83 // such bit, returns "limit" if that is non-null, or else "endWord()".
84 inline HeapWord* get_next_marked_addr(const HeapWord* addr,
85 HeapWord* limit) const;
86
87 void print_on_error(outputStream* st, const char* prefix) const;
88
89 // Write marks.
90 inline void mark(HeapWord* addr);
91 inline void mark(oop obj);
92 inline void clear(HeapWord* addr);
93 inline void clear(oop obj);
94 inline bool par_mark(HeapWord* addr);
95 inline bool par_mark(oop obj);
96
97 // Clear bitmap.
98 void clear() { do_clear(_covered, true); }
99 void clear_range(MemRegion mr) { do_clear(mr, false); }
100 void clear_range_large(MemRegion mr) { do_clear(mr, true); }
101
102 size_t count_marked(MemRegion mr);
103 };
104
105 #endif // SHARE_GC_SHARED_MARKBITMAP_HPP
|