--- a/src/hotspot/share/services/mallocTracker.cpp Tue Nov 05 09:37:20 2019 +0800
+++ b/src/hotspot/share/services/mallocTracker.cpp Tue Nov 05 09:57:10 2019 +0100
@@ -119,6 +119,7 @@
// Record a malloc memory allocation
void* MallocTracker::record_malloc(void* malloc_base, size_t size, MEMFLAGS flags,
const NativeCallStack& stack, NMT_TrackingLevel level) {
+ assert(level != NMT_off, "precondition");
void* memblock; // the address for user data
MallocHeader* header = NULL;
@@ -128,10 +129,6 @@
// Uses placement global new operator to initialize malloc header
- if (level == NMT_off) {
- return malloc_base;
- }
-
header = ::new (malloc_base)MallocHeader(size, flags, stack, level);
memblock = (void*)((char*)malloc_base + sizeof(MallocHeader));
@@ -151,14 +148,9 @@
}
void* MallocTracker::record_free(void* memblock) {
- // Never turned on
- if (MemTracker::tracking_level() == NMT_off ||
- memblock == NULL) {
- return memblock;
- }
+ assert(MemTracker::tracking_level() != NMT_off && memblock != NULL, "precondition");
MallocHeader* header = malloc_header(memblock);
header->release();
-
return (void*)header;
}