57 // This function clears the memory of the object |
57 // This function clears the memory of the object |
58 void mem_clear(HeapWord* mem) const; |
58 void mem_clear(HeapWord* mem) const; |
59 // This finish constructing an oop by installing the mark word and the Klass* pointer |
59 // This finish constructing an oop by installing the mark word and the Klass* pointer |
60 // last. At the point when the Klass pointer is initialized, this is a constructed object |
60 // last. At the point when the Klass pointer is initialized, this is a constructed object |
61 // that must be parseable as an oop by concurrent collectors. |
61 // that must be parseable as an oop by concurrent collectors. |
62 oop finish(HeapWord* mem) const; |
62 virtual oop finish(HeapWord* mem) const; |
63 |
63 |
64 // Raw memory allocation. This may or may not use TLAB allocations to satisfy the |
64 // Raw memory allocation. This will try to do a TLAB allocation, and otherwise fall |
65 // allocation. A GC implementation may override this function to satisfy the allocation |
65 // back to calling CollectedHeap::mem_allocate(). |
66 // in any way. But the default is to try a TLAB allocation, and otherwise perform |
66 HeapWord* mem_allocate(Allocation& allocation) const; |
67 // mem_allocate. |
|
68 virtual HeapWord* mem_allocate(Allocation& allocation) const; |
|
69 |
67 |
70 virtual MemRegion obj_memory_range(oop obj) const { |
68 virtual MemRegion obj_memory_range(oop obj) const { |
71 return MemRegion((HeapWord*)obj, _word_size); |
69 return MemRegion((HeapWord*)obj, _word_size); |
72 } |
70 } |
73 |
71 |