#include "common/PoolAlloc.h"
#include <assert.h>
#include <stdint.h>
#include <stdio.h>
#include "common/angleutils.h"
#include "common/debug.h"
#include "common/mathutil.h"
#include "common/platform.h"
#include "common/tls.h"
#if defined(ANGLE_WITH_ASAN)
# include <sanitizer/asan_interface.h>
#endif
namespace angle
{
class Allocation
{ … };
#if !defined(ANGLE_DISABLE_POOL_ALLOC)
class PageHeader
{ … };
#endif
PoolAllocator::PoolAllocator(int growthIncrement, int allocationAlignment)
: … { … }
void PoolAllocator::initialize(int pageSize, int alignment)
{ … }
PoolAllocator::~PoolAllocator()
{ … }
void Allocation::checkGuardBlock(unsigned char *blockMem,
unsigned char val,
const char *locText) const
{ … }
void PoolAllocator::push()
{ … }
void PoolAllocator::pop(ReleaseStrategy releaseStrategy)
{ … }
void PoolAllocator::popAll()
{ … }
void *PoolAllocator::allocate(size_t numBytes)
{ … }
#if !defined(ANGLE_DISABLE_POOL_ALLOC)
uint8_t *PoolAllocator::allocateNewPage(size_t numBytes)
{ … }
void *PoolAllocator::initializeAllocation(uint8_t *memory, size_t numBytes)
{ … }
#endif
void PoolAllocator::lock()
{ … }
void PoolAllocator::unlock()
{ … }
void Allocation::checkAllocList() const
{ … }
}