diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2017-01-11 15:37:36 +0100 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2017-01-11 15:37:36 +0100 |
commit | 95cf62a4a9b625146de766d91551ef4593652ac8 (patch) | |
tree | 7c72044b41748e1c5b786be571e50e0fd363cf76 /vespamalloc | |
parent | 2b5b5302a638e055208577cf5ef7210d32a4c19b (diff) |
Terminate the stackentries and do not count empty as it does not provide any value.
Diffstat (limited to 'vespamalloc')
-rw-r--r-- | vespamalloc/src/vespamalloc/malloc/datasegment.hpp | 5 | ||||
-rw-r--r-- | vespamalloc/src/vespamalloc/util/callstack.h | 3 |
2 files changed, 4 insertions, 4 deletions
diff --git a/vespamalloc/src/vespamalloc/malloc/datasegment.hpp b/vespamalloc/src/vespamalloc/malloc/datasegment.hpp index fe9d00decd0..281d5f98756 100644 --- a/vespamalloc/src/vespamalloc/malloc/datasegment.hpp +++ b/vespamalloc/src/vespamalloc/malloc/datasegment.hpp @@ -170,7 +170,6 @@ size_t DataSegment<MemBlockPtrT>::infoThread(FILE * os, int level, int thread, S size_t allocatedCount(0); size_t notAccounted(0); size_t invalidCallStacks(0); - size_t emptyCallStacks(0); std::unique_ptr<CallGraphLT> callGraph(new CallGraphLT); for(size_t i=0; i < NELEMS(_blockList); ) { const BlockT & b = _blockList[i]; @@ -199,9 +198,7 @@ size_t DataSegment<MemBlockPtrT>::infoThread(FILE * os, int level, int thread, S notAccounted++; } } else { - if (mem.callStackLen() == 0) { - emptyCallStacks++; - } else { + if (mem.callStackLen()) { invalidCallStacks++; } } diff --git a/vespamalloc/src/vespamalloc/util/callstack.h b/vespamalloc/src/vespamalloc/util/callstack.h index fa9640b2a2d..ca7c369bfea 100644 --- a/vespamalloc/src/vespamalloc/util/callstack.h +++ b/vespamalloc/src/vespamalloc/util/callstack.h @@ -75,6 +75,9 @@ size_t StackEntry<StackRep>::fillStack(StackEntry<StackRep> *stack, size_t nelem } else { sz = 0; } + if (sz < nelems) { + stack[sz] = StackEntry<StackRep>(); + } return sz; } |