< prev index next >
src/hotspot/share/gc/shared/threadLocalAllocBuffer.hpp
Print this page
rev 49264 : [mq]: event-only
rev 49268 : [mq]: event6
*** 41,62 ****
// Heap sampling is performed via the current_end/allocation_end
// fields.
// allocation_end contains the real end of the tlab allocation,
// whereas current_end can be set to an arbitrary spot in the tlab to
// trip the return and sample the allocation.
- // last_slow_path_end is used to track if a fast tlab refill occured
- // between slowpath calls.
class ThreadLocalAllocBuffer: public CHeapObj<mtThread> {
friend class VMStructs;
friend class JVMCIVMStructs;
private:
HeapWord* _start; // address of TLAB
HeapWord* _top; // address after last allocation
HeapWord* _pf_top; // allocation prefetch watermark
HeapWord* _current_end; // allocation end (can be the sampling end point or _allocation_end)
HeapWord* _allocation_end; // end for allocations (actual TLAB end, excluding alignment_reserve)
- HeapWord* _last_slow_path_end; // last address for slow_path_end (as opposed to _allocation_end)
size_t _desired_size; // desired size (including alignment_reserve)
size_t _refill_waste_limit; // hold onto tlab if free() is larger than this
size_t _allocated_before_last_gc; // total bytes allocated up until the last gc
size_t _bytes_since_last_sample_point; // bytes since last sample point.
--- 41,59 ----
*** 77,87 ****
void initialize_statistics();
void set_start(HeapWord* start) { _start = start; }
void set_current_end(HeapWord* current_end) { _current_end = current_end; }
void set_allocation_end(HeapWord* ptr) { _allocation_end = ptr; }
- void set_last_slow_path_end(HeapWord* ptr) { _last_slow_path_end = ptr; }
void set_top(HeapWord* top) { _top = top; }
void set_pf_top(HeapWord* pf_top) { _pf_top = pf_top; }
void set_desired_size(size_t desired_size) { _desired_size = desired_size; }
void set_refill_waste_limit(size_t waste) { _refill_waste_limit = waste; }
--- 74,83 ----
*** 90,101 ****
static int target_refills() { return _target_refills; }
size_t initial_desired_size();
size_t remaining();
- void update_end_pointers();
-
// Make parsable and release it.
void reset();
// Resize based on amount of allocation, etc.
void resize();
--- 86,95 ----
< prev index next >