< prev index next >
src/share/vm/gc_implementation/shared/parGCAllocBuffer.hpp
Print this page
rev 7903 : imported patch 8073013-add-detailed-information-about-plab-memory-usage
rev 7905 : imported patch 8067336-allow-that-plab-allocations-at-the-end-of-regions-are-flexible
*** 33,42 ****
--- 33,44 ----
// Forward declarations.
class PLABStats;
// A per-thread allocation buffer used during GC.
class ParGCAllocBuffer: public CHeapObj<mtGC> {
+ public:
+ static size_t AlignmentReserve;
protected:
char head[32];
size_t _word_sz; // In HeapWord units
HeapWord* _bottom;
HeapWord* _top;
*** 44,54 ****
HeapWord* _hard_end; // _end + AlignmentReserve
// In support of ergonomic sizing of PLAB's
size_t _allocated; // in HeapWord units
size_t _wasted; // in HeapWord units
char tail[32];
- static size_t AlignmentReserve;
// Force future allocations to fail and queries for contains()
// to return false. Returns the amount of unused space in this PLAB.
size_t invalidate() {
_end = _hard_end;
--- 46,55 ----
*** 142,159 ****
void print() PRODUCT_RETURN;
};
// PLAB book-keeping.
class PLABStats VALUE_OBJ_CLASS_SPEC {
size_t _allocated; // Total allocated
size_t _wasted; // of which wasted (internal fragmentation)
size_t _unused; // Unused in last buffer
size_t _desired_plab_sz;// Output of filter (below), suitably trimmed and quantized
AdaptiveWeightedAverage
_filter; // Integrator with decay
! void reset() {
_allocated = 0;
_wasted = 0;
_unused = 0;
}
public:
--- 143,161 ----
void print() PRODUCT_RETURN;
};
// PLAB book-keeping.
class PLABStats VALUE_OBJ_CLASS_SPEC {
+ protected:
size_t _allocated; // Total allocated
size_t _wasted; // of which wasted (internal fragmentation)
size_t _unused; // Unused in last buffer
size_t _desired_plab_sz;// Output of filter (below), suitably trimmed and quantized
AdaptiveWeightedAverage
_filter; // Integrator with decay
! virtual void reset() {
_allocated = 0;
_wasted = 0;
_unused = 0;
}
public:
< prev index next >