Add BumpPtrAllocator::getTotalMemory() to allow clients to query how much memory a BumpPtrAllocator allocated.

llvm-svn: 129727
This commit is contained in:
Ted Kremenek 2011-04-18 22:44:46 +00:00
parent 8377b65f58
commit 7cac5a8369
2 changed files with 11 additions and 0 deletions

View File

@ -177,6 +177,9 @@ public:
unsigned GetNumSlabs() const;
void PrintStats() const;
/// Compute the total physical memory allocated by this allocator.
size_t getTotalMemory() const;
};
/// SpecificBumpPtrAllocator - Same as BumpPtrAllocator but allows only

View File

@ -136,6 +136,14 @@ unsigned BumpPtrAllocator::GetNumSlabs() const {
return NumSlabs;
}
size_t BumpPtrAllocator::getTotalMemory() const {
size_t TotalMemory = 0;
for (MemSlab *Slab = CurSlab; Slab != 0; Slab = Slab->NextPtr) {
TotalMemory += Slab->Size;
}
return TotalMemory;
}
void BumpPtrAllocator::PrintStats() const {
unsigned NumSlabs = 0;
size_t TotalMemory = 0;