< prev index next >

src/share/vm/memory/threadLocalAllocBuffer.hpp

Print this page

        

*** 56,67 **** unsigned _gc_waste; unsigned _slow_allocations; AdaptiveWeightedAverage _allocation_fraction; // fraction of eden allocated in tlabs ! void accumulate_statistics(); ! void initialize_statistics(); void set_start(HeapWord* start) { _start = start; } void set_end(HeapWord* end) { _end = end; } void set_top(HeapWord* top) { _top = top; } void set_pf_top(HeapWord* pf_top) { _pf_top = pf_top; } --- 56,67 ---- unsigned _gc_waste; unsigned _slow_allocations; AdaptiveWeightedAverage _allocation_fraction; // fraction of eden allocated in tlabs ! bool _gclab; ! bool _initialized; void set_start(HeapWord* start) { _start = start; } void set_end(HeapWord* end) { _end = end; } void set_top(HeapWord* top) { _top = top; } void set_pf_top(HeapWord* pf_top) { _pf_top = pf_top; }
*** 76,88 **** size_t remaining() const { return end() == NULL ? 0 : pointer_delta(hard_end(), top()); } // Make parsable and release it. void reset(); - // Resize based on amount of allocation, etc. - void resize(); - void invariants() const { assert(top() >= start() && top() <= end(), "invalid tlab"); } void initialize(HeapWord* start, HeapWord* top, HeapWord* end); void print_stats(const char* tag); --- 76,85 ----
*** 99,112 **** static GlobalTLABStats* _global_stats; static GlobalTLABStats* global_stats() { return _global_stats; } public: ! ThreadLocalAllocBuffer() : _allocation_fraction(TLABAllocationWeight), _allocated_before_last_gc(0) { // do nothing. tlabs must be inited by initialize() calls } static const size_t min_size() { return align_object_size(MinTLABSize / HeapWordSize) + alignment_reserve(); } static const size_t max_size() { assert(_max_size != 0, "max_size not set up"); return _max_size; } static void set_max_size(size_t max_size) { _max_size = max_size; } HeapWord* start() const { return _start; } --- 96,111 ---- static GlobalTLABStats* _global_stats; static GlobalTLABStats* global_stats() { return _global_stats; } public: ! ThreadLocalAllocBuffer() : _allocation_fraction(TLABAllocationWeight), _allocated_before_last_gc(0), _initialized(false) { // do nothing. tlabs must be inited by initialize() calls } + bool is_initialized() const { return _initialized; }; + static const size_t min_size() { return align_object_size(MinTLABSize / HeapWordSize) + alignment_reserve(); } static const size_t max_size() { assert(_max_size != 0, "max_size not set up"); return _max_size; } static void set_max_size(size_t max_size) { _max_size = max_size; } HeapWord* start() const { return _start; }
*** 129,138 **** --- 128,147 ---- // Reserve space at the end of TLAB static size_t end_reserve() { int reserve_size = typeArrayOopDesc::header_size(T_INT); return MAX2(reserve_size, VM_Version::reserve_for_allocation_prefetch()); } + + // Resize based on amount of allocation, etc. + void resize(); + + void accumulate_statistics(); + void initialize_statistics(); + + // Rolls back a single allocation of the given size. + void rollback(size_t 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.
*** 156,166 **** // Resize tlabs for all threads static void resize_all_tlabs(); void fill(HeapWord* start, HeapWord* top, size_t new_size); ! void initialize(); static size_t refill_waste_limit_increment() { return TLABWasteIncrement; } // Code generation support static ByteSize start_offset() { return byte_offset_of(ThreadLocalAllocBuffer, _start); } --- 165,175 ---- // Resize tlabs for all threads static void resize_all_tlabs(); void fill(HeapWord* start, HeapWord* top, size_t new_size); ! void initialize(bool gclab); static size_t refill_waste_limit_increment() { return TLABWasteIncrement; } // Code generation support static ByteSize start_offset() { return byte_offset_of(ThreadLocalAllocBuffer, _start); }
< prev index next >