src/share/vm/memory/threadLocalAllocBuffer.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File
*** old/src/share/vm/memory/threadLocalAllocBuffer.hpp	Tue Aug 16 10:00:32 2011
--- new/src/share/vm/memory/threadLocalAllocBuffer.hpp	Tue Aug 16 10:00:32 2011

*** 122,142 **** --- 122,133 ---- 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); if (AllocatePrefetchStyle == 3) { // BIS is used to prefetch - we need a space for it. // +1 for rounding up to next cache line +1 to be safe int lines = AllocatePrefetchLines + 2; int step_size = AllocatePrefetchStepSize; int distance = AllocatePrefetchDistance; int prefetch_end = (distance + step_size*lines)/(int)HeapWordSize; reserve_size = MAX2(reserve_size, prefetch_end); + return MAX2(reserve_size, VM_Version::reserve_for_allocation_prefetch()); } return reserve_size; } 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.

src/share/vm/memory/threadLocalAllocBuffer.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File