diff options
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/ExecutionEngine/JIT/JITMemoryManager.cpp | 15 | ||||
| -rw-r--r-- | llvm/lib/Support/Allocator.cpp | 27 |
2 files changed, 11 insertions, 31 deletions
diff --git a/llvm/lib/ExecutionEngine/JIT/JITMemoryManager.cpp b/llvm/lib/ExecutionEngine/JIT/JITMemoryManager.cpp index 0d1ea0263c7..e5a41eb0536 100644 --- a/llvm/lib/ExecutionEngine/JIT/JITMemoryManager.cpp +++ b/llvm/lib/ExecutionEngine/JIT/JITMemoryManager.cpp @@ -274,8 +274,8 @@ namespace { public: JITSlabAllocator(DefaultJITMemoryManager &jmm) : JMM(jmm) { } virtual ~JITSlabAllocator() { } - MemSlab *Allocate(size_t Size) override; - void Deallocate(MemSlab *Slab) override; + void *Allocate(size_t Size) override; + void Deallocate(void *Slab, size_t Size) override; }; /// DefaultJITMemoryManager - Manage memory for the JIT code generation. @@ -568,16 +568,13 @@ namespace { }; } -MemSlab *JITSlabAllocator::Allocate(size_t Size) { +void *JITSlabAllocator::Allocate(size_t Size) { sys::MemoryBlock B = JMM.allocateNewSlab(Size); - MemSlab *Slab = (MemSlab*)B.base(); - Slab->Size = B.size(); - Slab->NextPtr = 0; - return Slab; + return B.base(); } -void JITSlabAllocator::Deallocate(MemSlab *Slab) { - sys::MemoryBlock B(Slab, Slab->Size); +void JITSlabAllocator::Deallocate(void *Slab, size_t Size) { + sys::MemoryBlock B(Slab, Size); sys::Memory::ReleaseRWX(B); } diff --git a/llvm/lib/Support/Allocator.cpp b/llvm/lib/Support/Allocator.cpp index da1bf3e18c4..9d9873981eb 100644 --- a/llvm/lib/Support/Allocator.cpp +++ b/llvm/lib/Support/Allocator.cpp @@ -25,25 +25,16 @@ SlabAllocator::~SlabAllocator() { } MallocSlabAllocator::~MallocSlabAllocator() { } -MemSlab *MallocSlabAllocator::Allocate(size_t Size) { - MemSlab *Slab = (MemSlab*)Allocator.Allocate(Size, 0); - Slab->Size = Size; - Slab->NextPtr = nullptr; - return Slab; +void *MallocSlabAllocator::Allocate(size_t Size) { + return Allocator.Allocate(Size, 0); } -void MallocSlabAllocator::Deallocate(MemSlab *Slab) { +void MallocSlabAllocator::Deallocate(void *Slab, size_t Size) { Allocator.Deallocate(Slab); } -void BumpPtrAllocatorBase::PrintStats() const { - unsigned NumSlabs = 0; - size_t TotalMemory = 0; - for (MemSlab *Slab = CurSlab; Slab; Slab = Slab->NextPtr) { - TotalMemory += Slab->Size; - ++NumSlabs; - } - +void printBumpPtrAllocatorStats(unsigned NumSlabs, size_t BytesAllocated, + size_t TotalMemory) { errs() << "\nNumber of memory regions: " << NumSlabs << '\n' << "Bytes used: " << BytesAllocated << '\n' << "Bytes allocated: " << TotalMemory << '\n' @@ -51,14 +42,6 @@ void BumpPtrAllocatorBase::PrintStats() const { << " (includes alignment, etc)\n"; } -size_t BumpPtrAllocatorBase::getTotalMemory() const { - size_t TotalMemory = 0; - for (MemSlab *Slab = CurSlab; Slab; Slab = Slab->NextPtr) { - TotalMemory += Slab->Size; - } - return TotalMemory; -} - void PrintRecyclerStats(size_t Size, size_t Align, size_t FreeListSize) { |

