8229127: Make some methods in the allocation path non-virtual

Reviewed-by: eosterlund
This commit is contained in:
Per Lidén 2019-08-23 08:48:27 +02:00
parent 3460bce1c2
commit 1801dd06b0
2 changed files with 5 additions and 7 deletions

View file

@ -254,9 +254,9 @@ class CollectedHeap : public CHeapObj<mtInternal> {
} }
GCCause::Cause gc_cause() { return _gc_cause; } GCCause::Cause gc_cause() { return _gc_cause; }
virtual oop obj_allocate(Klass* klass, int size, TRAPS); oop obj_allocate(Klass* klass, int size, TRAPS);
virtual oop array_allocate(Klass* klass, int size, int length, bool do_zero, TRAPS); virtual oop array_allocate(Klass* klass, int size, int length, bool do_zero, TRAPS);
virtual oop class_allocate(Klass* klass, int size, TRAPS); oop class_allocate(Klass* klass, int size, TRAPS);
// Utilities for turning raw memory into filler objects. // Utilities for turning raw memory into filler objects.
// //

View file

@ -61,11 +61,9 @@ protected:
// that must be parseable as an oop by concurrent collectors. // that must be parseable as an oop by concurrent collectors.
virtual oop finish(HeapWord* mem) const; virtual oop finish(HeapWord* mem) const;
// Raw memory allocation. This may or may not use TLAB allocations to satisfy the // Raw memory allocation. This will try to do a TLAB allocation, and otherwise fall
// allocation. A GC implementation may override this function to satisfy the allocation // back to calling CollectedHeap::mem_allocate().
// in any way. But the default is to try a TLAB allocation, and otherwise perform HeapWord* mem_allocate(Allocation& allocation) const;
// mem_allocate.
virtual HeapWord* mem_allocate(Allocation& allocation) const;
virtual MemRegion obj_memory_range(oop obj) const { virtual MemRegion obj_memory_range(oop obj) const {
return MemRegion((HeapWord*)obj, _word_size); return MemRegion((HeapWord*)obj, _word_size);