< prev index next >

src/hotspot/share/gc/shared/threadLocalAllocBuffer.hpp

Print this page
rev 52072 : 8211955: GC abstraction for LAB reserve

*** 24,34 **** #ifndef SHARE_VM_GC_SHARED_THREADLOCALALLOCBUFFER_HPP #define SHARE_VM_GC_SHARED_THREADLOCALALLOCBUFFER_HPP #include "gc/shared/gcUtil.hpp" - #include "oops/typeArrayOop.hpp" #include "runtime/perfData.hpp" #include "runtime/vm_version.hpp" class ThreadLocalAllocStats; --- 24,33 ----
*** 136,149 **** // Allocate size HeapWords. The memory is NOT initialized to zero. inline HeapWord* allocate(size_t size); // Reserve space at the end of TLAB ! static size_t end_reserve() { ! int reserve_size = typeArrayOopDesc::header_size(T_INT); ! return MAX2(reserve_size, _reserve_for_allocation_prefetch); ! } static size_t alignment_reserve() { return align_object_size(end_reserve()); } static size_t alignment_reserve_in_bytes() { return alignment_reserve() * HeapWordSize; } // Return tlab size or remaining space in eden such that the // space is large enough to hold obj_size and necessary fill space. --- 135,145 ---- // Allocate size HeapWords. The memory is NOT initialized to zero. inline HeapWord* allocate(size_t size); // Reserve space at the end of TLAB ! static size_t end_reserve(); static size_t alignment_reserve() { return align_object_size(end_reserve()); } static size_t alignment_reserve_in_bytes() { return alignment_reserve() * HeapWordSize; } // Return tlab size or remaining space in eden such that the // space is large enough to hold obj_size and necessary fill space.
< prev index next >