From 61760cece0de0136ee01706748f8bb3977bfcf24 Mon Sep 17 00:00:00 2001 From: Hans Wennborg Date: Sun, 17 Aug 2014 18:31:18 +0000 Subject: [PATCH] BumpPtrAllocator: remove 'no slabs allocated yet' check We already handle the no-slabs case when checking whether the current slab is large enough: if no slabs have been allocated, CurPtr and End are both 0. alignPtr(0), will still be 0, and so "if (Ptr + Size <= End)" fails. Differential Revision: http://reviews.llvm.org/D4943 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@215841 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Support/Allocator.h | 3 --- unittests/Support/AllocatorTest.cpp | 2 +- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/include/llvm/Support/Allocator.h b/include/llvm/Support/Allocator.h index 7a7e4c0a13e..f39fd10b024 100644 --- a/include/llvm/Support/Allocator.h +++ b/include/llvm/Support/Allocator.h @@ -201,9 +201,6 @@ public: /// \brief Allocate space at the specified alignment. void *Allocate(size_t Size, size_t Alignment) { - if (!CurPtr) // Start a new slab if we haven't allocated one already. - StartNewSlab(); - // Keep track of how many bytes we've allocated. BytesAllocated += Size; diff --git a/unittests/Support/AllocatorTest.cpp b/unittests/Support/AllocatorTest.cpp index 0fc84c7613f..dc92ff9ef03 100644 --- a/unittests/Support/AllocatorTest.cpp +++ b/unittests/Support/AllocatorTest.cpp @@ -112,7 +112,7 @@ TEST(AllocatorTest, TestSmallSlabSize) { BumpPtrAllocator Alloc; Alloc.Allocate(8000, 0); - EXPECT_EQ(2U, Alloc.GetNumSlabs()); + EXPECT_EQ(1U, Alloc.GetNumSlabs()); } // Mock slab allocator that returns slabs aligned on 4096 bytes. There is no -- 2.11.0