Lines Matching full:allocation
7 // Defines the class interface for PoolAllocator and the Allocation
26 // * Makes each individual allocation much more efficient; the
27 // typical allocation is trivial.
46 // allocation. If we aren't using guard blocks, these
50 class Allocation
53 Allocation(size_t size, unsigned char *mem, Allocation *prev = 0)
94 unsigned char *mMem; // beginning of our allocation (pts to header)
95 Allocation *mPrevAlloc; // prior allocation in the chain
102 static constexpr size_t HeaderSize() { return sizeof(Allocation); } in HeaderSize()
115 // of each allocation obtained from the underlying OS. Multi-page allocations
151 // or if no last call to push, frees all memory since first allocation.
178 // Do the allocation, most likely case inline first, for efficiency. in fastAllocate()
234 Allocation *lastAllocation;
245 // Slow path of allocation when we have to get a new page.
251 new (memory) Allocation(numBytes + mAlignment, memory, block->lastAllocation); in initializeAllocation()
252 block->lastAllocation = reinterpret_cast<Allocation *>(memory); in initializeAllocation()
255 void *unalignedPtr = Allocation::OffsetAllocation(memory); in initializeAllocation()
260 size_t mPageSize; // granularity of allocation from the OS