258 |
258 |
259 // Returns the address of the start of the "block" that contains the |
259 // Returns the address of the start of the "block" that contains the |
260 // address "addr". We say "blocks" instead of "object" since some heaps |
260 // address "addr". We say "blocks" instead of "object" since some heaps |
261 // may not pack objects densely; a chunk may either be an object or a |
261 // may not pack objects densely; a chunk may either be an object or a |
262 // non-object. |
262 // non-object. |
263 virtual HeapWord* block_start(const void* addr) const; |
263 HeapWord* block_start(const void* addr) const; |
264 |
264 |
265 // Requires "addr" to be the start of a block, and returns "TRUE" iff |
265 // Requires "addr" to be the start of a block, and returns "TRUE" iff |
266 // the block is an object. Assumes (and verifies in non-product |
266 // the block is an object. Assumes (and verifies in non-product |
267 // builds) that addr is in the allocated part of the heap and is |
267 // builds) that addr is in the allocated part of the heap and is |
268 // the start of a chunk. |
268 // the start of a chunk. |
269 virtual bool block_is_obj(const HeapWord* addr) const; |
269 bool block_is_obj(const HeapWord* addr) const; |
270 |
270 |
271 // Section on TLAB's. |
271 // Section on TLAB's. |
272 virtual bool supports_tlab_allocation() const; |
272 virtual bool supports_tlab_allocation() const; |
273 virtual size_t tlab_capacity(Thread* thr) const; |
273 virtual size_t tlab_capacity(Thread* thr) const; |
274 virtual size_t tlab_used(Thread* thr) const; |
274 virtual size_t tlab_used(Thread* thr) const; |
330 virtual void print_on(outputStream* st) const; |
330 virtual void print_on(outputStream* st) const; |
331 virtual void print_gc_threads_on(outputStream* st) const; |
331 virtual void print_gc_threads_on(outputStream* st) const; |
332 virtual void gc_threads_do(ThreadClosure* tc) const; |
332 virtual void gc_threads_do(ThreadClosure* tc) const; |
333 virtual void print_tracing_info() const; |
333 virtual void print_tracing_info() const; |
334 |
334 |
|
335 // Used to print information about locations in the hs_err file. |
|
336 virtual bool print_location(outputStream* st, void* addr) const; |
|
337 |
335 void print_heap_change(size_t young_prev_used, size_t old_prev_used) const; |
338 void print_heap_change(size_t young_prev_used, size_t old_prev_used) const; |
336 |
339 |
337 // The functions below are helper functions that a subclass of |
340 // The functions below are helper functions that a subclass of |
338 // "CollectedHeap" can use in the implementation of its virtual |
341 // "CollectedHeap" can use in the implementation of its virtual |
339 // functions. |
342 // functions. |