Skip to content

Commit

Permalink
Add BumpPtrAllocator::getTotalMemory() to allow clients to query how …
Browse files Browse the repository at this point in the history
…much memory a BumpPtrAllocator allocated.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129727 91177308-0d34-0410-b5e6-96231b3b80d8
  • Loading branch information
tkremenek committed Apr 18, 2011
1 parent 1fc7a24 commit 1da29dd
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 0 deletions.
3 changes: 3 additions & 0 deletions include/llvm/Support/Allocator.h
Original file line number Diff line number Diff line change
Expand Up @@ -177,6 +177,9 @@ class BumpPtrAllocator {
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
Expand Down
8 changes: 8 additions & 0 deletions lib/Support/Allocator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down

0 comments on commit 1da29dd

Please sign in to comment.