184
185 size_t tlab_capacity(Thread* thr) const;
186 size_t tlab_used(Thread* thr) const;
187 size_t unsafe_max_tlab_alloc(Thread* thr) const;
188
189 // Can a compiler initialize a new object without store barriers?
190 // This permission only extends from the creation of a new object
191 // via a TLAB up to the first subsequent safepoint.
192 virtual bool can_elide_tlab_store_barriers() const {
193 return true;
194 }
195
196 virtual bool card_mark_must_follow_store() const {
197 return false;
198 }
199
200 // Return true if we don't we need a store barrier for
201 // initializing stores to an object at this address.
202 virtual bool can_elide_initializing_store_barrier(oop new_obj);
203
204 void oop_iterate(ExtendedOopClosure* cl);
205 void object_iterate(ObjectClosure* cl);
206 void safe_object_iterate(ObjectClosure* cl) { object_iterate(cl); }
207
208 HeapWord* block_start(const void* addr) const;
209 size_t block_size(const HeapWord* addr) const;
210 bool block_is_obj(const HeapWord* addr) const;
211
212 jlong millis_since_last_gc();
213
214 void prepare_for_verify();
215 PSHeapSummary create_ps_heap_summary();
216 virtual void print_on(outputStream* st) const;
217 virtual void print_on_error(outputStream* st) const;
218 virtual void print_gc_threads_on(outputStream* st) const;
219 virtual void gc_threads_do(ThreadClosure* tc) const;
220 virtual void print_tracing_info() const;
221
222 void verify(bool silent, VerifyOption option /* ignored */);
223
224 void print_heap_change(size_t prev_used);
|
184
185 size_t tlab_capacity(Thread* thr) const;
186 size_t tlab_used(Thread* thr) const;
187 size_t unsafe_max_tlab_alloc(Thread* thr) const;
188
189 // Can a compiler initialize a new object without store barriers?
190 // This permission only extends from the creation of a new object
191 // via a TLAB up to the first subsequent safepoint.
192 virtual bool can_elide_tlab_store_barriers() const {
193 return true;
194 }
195
196 virtual bool card_mark_must_follow_store() const {
197 return false;
198 }
199
200 // Return true if we don't we need a store barrier for
201 // initializing stores to an object at this address.
202 virtual bool can_elide_initializing_store_barrier(oop new_obj);
203
204 void object_iterate(ObjectClosure* cl);
205 void safe_object_iterate(ObjectClosure* cl) { object_iterate(cl); }
206
207 HeapWord* block_start(const void* addr) const;
208 size_t block_size(const HeapWord* addr) const;
209 bool block_is_obj(const HeapWord* addr) const;
210
211 jlong millis_since_last_gc();
212
213 void prepare_for_verify();
214 PSHeapSummary create_ps_heap_summary();
215 virtual void print_on(outputStream* st) const;
216 virtual void print_on_error(outputStream* st) const;
217 virtual void print_gc_threads_on(outputStream* st) const;
218 virtual void gc_threads_do(ThreadClosure* tc) const;
219 virtual void print_tracing_info() const;
220
221 void verify(bool silent, VerifyOption option /* ignored */);
222
223 void print_heap_change(size_t prev_used);
|