8317772: NMT: Make peak values available in release builds

Reviewed-by: jsjolen, zgu
This commit is contained in:
Thomas Stuefe 2023-10-12 13:48:59 +00:00
parent 4c79e7d59c
commit 32ccf018eb
3 changed files with 6 additions and 13 deletions

View File

@ -45,7 +45,6 @@
size_t MallocMemorySummary::_snapshot[CALC_OBJ_SIZE_IN_TYPE(MallocMemorySnapshot, size_t)];
#ifdef ASSERT
void MemoryCounter::update_peak(size_t size, size_t cnt) {
size_t peak_sz = peak_size();
while (peak_sz < size) {
@ -59,7 +58,6 @@ void MemoryCounter::update_peak(size_t size, size_t cnt) {
}
}
}
#endif // ASSERT
// Total malloc'd memory used by arenas
size_t MallocMemorySnapshot::total_arena() const {

View File

@ -46,25 +46,20 @@ class MemoryCounter {
volatile size_t _count;
volatile size_t _size;
#ifdef ASSERT
// Peak size and count. Note: Peak count is the count at the point
// peak size was reached, not the absolute highest peak count.
volatile size_t _peak_count;
volatile size_t _peak_size;
void update_peak(size_t size, size_t cnt);
#endif // ASSERT
public:
MemoryCounter() : _count(0), _size(0) {
DEBUG_ONLY(_peak_count = 0;)
DEBUG_ONLY(_peak_size = 0;)
}
MemoryCounter() : _count(0), _size(0), _peak_count(0), _peak_size(0) {}
inline void allocate(size_t sz) {
size_t cnt = Atomic::add(&_count, size_t(1), memory_order_relaxed);
if (sz > 0) {
size_t sum = Atomic::add(&_size, sz, memory_order_relaxed);
DEBUG_ONLY(update_peak(sum, cnt);)
update_peak(sum, cnt);
}
}
@ -81,7 +76,7 @@ class MemoryCounter {
if (sz != 0) {
assert(sz >= 0 || size() >= size_t(-sz), "Must be");
size_t sum = Atomic::add(&_size, size_t(sz), memory_order_relaxed);
DEBUG_ONLY(update_peak(sum, _count);)
update_peak(sum, _count);
}
}
@ -89,11 +84,11 @@ class MemoryCounter {
inline size_t size() const { return Atomic::load(&_size); }
inline size_t peak_count() const {
return DEBUG_ONLY(Atomic::load(&_peak_count)) NOT_DEBUG(0);
return Atomic::load(&_peak_count);
}
inline size_t peak_size() const {
return DEBUG_ONLY(Atomic::load(&_peak_size)) NOT_DEBUG(0);
return Atomic::load(&_peak_size);
}
};

View File

@ -246,7 +246,7 @@ void MemSummaryReporter::report_summary_of_type(MEMFLAGS flag,
// report malloc'd memory
if (amount_in_current_scale(malloc_memory->malloc_size()) > 0
DEBUG_ONLY(|| amount_in_current_scale(malloc_memory->malloc_peak_size()) > 0)) {
|| amount_in_current_scale(malloc_memory->malloc_peak_size()) > 0) {
print_malloc_line(malloc_memory->malloc_counter());
}