diff options
Diffstat (limited to 'lib/Support/MemoryUsage.cpp')
-rw-r--r-- | lib/Support/MemoryUsage.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/Support/MemoryUsage.cpp b/lib/Support/MemoryUsage.cpp index 32a7eb3b..a9f4026d 100644 --- a/lib/Support/MemoryUsage.cpp +++ b/lib/Support/MemoryUsage.cpp @@ -11,6 +11,10 @@ #include "klee/Config/config.h" +#ifdef HAVE_GPERFTOOLS_MALLOC_EXTENSION_H +#include "gperftools/malloc_extension.h" +#endif + #ifdef HAVE_MALLINFO #include <malloc.h> #endif @@ -21,7 +25,12 @@ using namespace klee; size_t util::GetTotalMallocUsage() { -#ifdef HAVE_MALLINFO +#ifdef HAVE_GPERFTOOLS_MALLOC_EXTENSION_H + uint64_t value; + MallocExtension::instance()->GetNumericProperty( + "generic.current_allocated_bytes", &value); + return value; +#elif HAVE_MALLINFO struct mallinfo mi = ::mallinfo(); // The malloc implementation in glibc (pmalloc2) // does not include mmap()'ed memory in mi.uordblks |