mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-04-12 23:37:33 +00:00
BumpPtrAllocator: Have the DefaultSlabAllocator created at runtime, not initialization time. This removes one of the 'init_constructors' reported in <rdar://problem/7545356>.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93581 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
9a23981ecc
commit
67c59826bf
@ -128,11 +128,11 @@ class BumpPtrAllocator {
|
||||
/// one.
|
||||
void DeallocateSlabs(MemSlab *Slab);
|
||||
|
||||
static MallocSlabAllocator DefaultSlabAllocator;
|
||||
static MallocSlabAllocator &GetDefaultSlabAllocator();
|
||||
|
||||
public:
|
||||
BumpPtrAllocator(size_t size = 4096, size_t threshold = 4096,
|
||||
SlabAllocator &allocator = DefaultSlabAllocator);
|
||||
SlabAllocator &allocator = GetDefaultSlabAllocator());
|
||||
~BumpPtrAllocator();
|
||||
|
||||
/// Reset - Deallocate all but the current slab and reset the current pointer
|
||||
|
@ -142,8 +142,10 @@ void BumpPtrAllocator::PrintStats() const {
|
||||
<< " (includes alignment, etc)\n";
|
||||
}
|
||||
|
||||
MallocSlabAllocator BumpPtrAllocator::DefaultSlabAllocator =
|
||||
MallocSlabAllocator();
|
||||
MallocSlabAllocator &BumpPtrAllocator::GetDefaultSlabAllocator() {
|
||||
static MallocSlabAllocator DefaultSlabAllocator;
|
||||
return DefaultSlabAllocator;
|
||||
}
|
||||
|
||||
SlabAllocator::~SlabAllocator() { }
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user