< prev index next >

src/hotspot/share/gc/z/zPage.hpp

Print this page

118   bool is_in(zoffset offset) const;
119   bool is_in(zaddress addr) const;
120 
121   uintptr_t local_offset(zoffset offset) const;
122   uintptr_t local_offset(zoffset_end offset) const;
123   uintptr_t local_offset(zaddress addr) const;
124   uintptr_t local_offset(zaddress_unsafe addr) const;
125 
126   zoffset global_offset(uintptr_t local_offset) const;
127 
128   bool is_object_live(zaddress addr) const;
129   bool is_object_strongly_live(zaddress addr) const;
130 
131   bool is_marked() const;
132   bool is_object_marked_live(zaddress addr) const;
133   bool is_object_marked_strong(zaddress addr) const;
134   bool is_object_marked(zaddress addr, bool finalizable) const;
135   bool mark_object(zaddress addr, bool finalizable, bool& inc_live);
136 
137   void inc_live(uint32_t objects, size_t bytes);

138   uint32_t live_objects() const;
139   size_t live_bytes() const;
140 
141   template <typename Function>
142   void object_iterate(Function function);
143 
144   void remember(volatile zpointer* p);
145 
146   // In-place relocation support
147   void clear_remset_bit_non_par_current(uintptr_t l_offset);
148   void clear_remset_range_non_par_current(uintptr_t l_offset, size_t size);
149   void swap_remset_bitmaps();
150 
151   void remset_alloc();
152 
153   ZBitMap::ReverseIterator remset_reverse_iterator_previous();
154   BitMap::Iterator remset_iterator_limited_current(uintptr_t l_offset, size_t size);
155   BitMap::Iterator remset_iterator_limited_previous(uintptr_t l_offset, size_t size);
156 
157   zaddress_unsafe find_base_unsafe(volatile zpointer* p);

175 
176   void clear_remset_previous();
177 
178   void* remset_current();
179 
180   zaddress alloc_object(size_t size);
181   zaddress alloc_object_atomic(size_t size);
182 
183   bool undo_alloc_object(zaddress addr, size_t size);
184   bool undo_alloc_object_atomic(zaddress addr, size_t size);
185 
186   void log_msg(const char* msg_format, ...) const ATTRIBUTE_PRINTF(2, 3);
187 
188   void print_on_msg(outputStream* st, const char* msg) const;
189   void print_on(outputStream* st) const;
190   void print() const;
191 
192   // Verification
193   bool was_remembered(volatile zpointer* p);
194   bool is_remembered(volatile zpointer* p);
195   void verify_live(uint32_t live_objects, size_t live_bytes, bool in_place) const;
196 
197   void fatal_msg(const char* msg) const;
198 };
199 
200 class ZPageClosure {
201 public:
202   virtual void do_page(const ZPage* page) = 0;
203 };
204 
205 #endif // SHARE_GC_Z_ZPAGE_HPP

118   bool is_in(zoffset offset) const;
119   bool is_in(zaddress addr) const;
120 
121   uintptr_t local_offset(zoffset offset) const;
122   uintptr_t local_offset(zoffset_end offset) const;
123   uintptr_t local_offset(zaddress addr) const;
124   uintptr_t local_offset(zaddress_unsafe addr) const;
125 
126   zoffset global_offset(uintptr_t local_offset) const;
127 
128   bool is_object_live(zaddress addr) const;
129   bool is_object_strongly_live(zaddress addr) const;
130 
131   bool is_marked() const;
132   bool is_object_marked_live(zaddress addr) const;
133   bool is_object_marked_strong(zaddress addr) const;
134   bool is_object_marked(zaddress addr, bool finalizable) const;
135   bool mark_object(zaddress addr, bool finalizable, bool& inc_live);
136 
137   void inc_live(uint32_t objects, size_t bytes);
138   void inc_will_expand(uint32_t objects);
139   uint32_t live_objects() const;
140   size_t live_bytes() const;
141 
142   template <typename Function>
143   void object_iterate(Function function);
144 
145   void remember(volatile zpointer* p);
146 
147   // In-place relocation support
148   void clear_remset_bit_non_par_current(uintptr_t l_offset);
149   void clear_remset_range_non_par_current(uintptr_t l_offset, size_t size);
150   void swap_remset_bitmaps();
151 
152   void remset_alloc();
153 
154   ZBitMap::ReverseIterator remset_reverse_iterator_previous();
155   BitMap::Iterator remset_iterator_limited_current(uintptr_t l_offset, size_t size);
156   BitMap::Iterator remset_iterator_limited_previous(uintptr_t l_offset, size_t size);
157 
158   zaddress_unsafe find_base_unsafe(volatile zpointer* p);

176 
177   void clear_remset_previous();
178 
179   void* remset_current();
180 
181   zaddress alloc_object(size_t size);
182   zaddress alloc_object_atomic(size_t size);
183 
184   bool undo_alloc_object(zaddress addr, size_t size);
185   bool undo_alloc_object_atomic(zaddress addr, size_t size);
186 
187   void log_msg(const char* msg_format, ...) const ATTRIBUTE_PRINTF(2, 3);
188 
189   void print_on_msg(outputStream* st, const char* msg) const;
190   void print_on(outputStream* st) const;
191   void print() const;
192 
193   // Verification
194   bool was_remembered(volatile zpointer* p);
195   bool is_remembered(volatile zpointer* p);
196   void verify_live(uint32_t live_objects, size_t live_bytes, uint32_t no_move_expand_count, bool in_place) const;
197 
198   void fatal_msg(const char* msg) const;
199 };
200 
201 class ZPageClosure {
202 public:
203   virtual void do_page(const ZPage* page) = 0;
204 };
205 
206 #endif // SHARE_GC_Z_ZPAGE_HPP
< prev index next >