Line data Source code
1 : //===--- Allocator.cpp - Simple memory allocation abstraction -------------===//
2 : //
3 : // The LLVM Compiler Infrastructure
4 : //
5 : // This file is distributed under the University of Illinois Open Source
6 : // License. See LICENSE.TXT for details.
7 : //
8 : //===----------------------------------------------------------------------===//
9 : //
10 : // This file implements the BumpPtrAllocator interface.
11 : //
12 : //===----------------------------------------------------------------------===//
13 :
14 : #include "llvm/Support/Allocator.h"
15 : #include "llvm/Support/raw_ostream.h"
16 :
17 : namespace llvm {
18 :
19 : namespace detail {
20 :
21 9 : void printBumpPtrAllocatorStats(unsigned NumSlabs, size_t BytesAllocated,
22 : size_t TotalMemory) {
23 9 : errs() << "\nNumber of memory regions: " << NumSlabs << '\n'
24 9 : << "Bytes used: " << BytesAllocated << '\n'
25 9 : << "Bytes allocated: " << TotalMemory << '\n'
26 9 : << "Bytes wasted: " << (TotalMemory - BytesAllocated)
27 9 : << " (includes alignment, etc)\n";
28 9 : }
29 :
30 : } // End namespace detail.
31 :
32 0 : void PrintRecyclerStats(size_t Size,
33 : size_t Align,
34 : size_t FreeListSize) {
35 0 : errs() << "Recycler element size: " << Size << '\n'
36 0 : << "Recycler element alignment: " << Align << '\n'
37 0 : << "Number of elements free for recycling: " << FreeListSize << '\n';
38 0 : }
39 :
40 : }
|