You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
1.4 KiB
40 lines
1.4 KiB
4 months ago
|
//===--- Allocator.cpp - Simple memory allocation abstraction -------------===//
|
||
|
//
|
||
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
||
|
// See https://llvm.org/LICENSE.txt for license information.
|
||
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
||
|
//
|
||
|
//===----------------------------------------------------------------------===//
|
||
|
//
|
||
|
// This file implements the BumpPtrAllocator interface.
|
||
|
//
|
||
|
//===----------------------------------------------------------------------===//
|
||
|
|
||
|
#include "llvm/Support/Allocator.h"
|
||
|
#include "llvm/Support/raw_ostream.h"
|
||
|
|
||
|
namespace llvm {
|
||
|
|
||
|
namespace detail {
|
||
|
|
||
|
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'
|
||
|
<< "Bytes wasted: " << (TotalMemory - BytesAllocated)
|
||
|
<< " (includes alignment, etc)\n";
|
||
|
}
|
||
|
|
||
|
} // End namespace detail.
|
||
|
|
||
|
void PrintRecyclerStats(size_t Size,
|
||
|
size_t Align,
|
||
|
size_t FreeListSize) {
|
||
|
errs() << "Recycler element size: " << Size << '\n'
|
||
|
<< "Recycler element alignment: " << Align << '\n'
|
||
|
<< "Number of elements free for recycling: " << FreeListSize << '\n';
|
||
|
}
|
||
|
|
||
|
}
|