#include <arena.h>
Classes | |
struct | Zone |
Public Member Functions | |
void * | Alloc (size_t size) |
size_t | Destroy () |
template<typename T , typename... Args> | |
T * | New (Args &&... args) |
Static Public Member Functions | |
static Arena * | Create (size_t initial_size, MemoryAllocator *memory_allocator) |
static std::pair< Arena *, void * > | CreateWithAlloc (size_t initial_size, size_t alloc_size, MemoryAllocator *memory_allocator) |
Private Member Functions | |
void * | AllocZone (size_t size) |
Arena (size_t initial_size, size_t initial_alloc, MemoryAllocator *memory_allocator) | |
~Arena () | |
Private Attributes | |
const size_t | initial_zone_size_ |
std::atomic< Zone * > | last_zone_ {nullptr} |
MemoryAllocator *const | memory_allocator_ |
std::atomic< size_t > | total_allocated_ {0} |
std::atomic< size_t > | total_used_ {0} |
Definition at line 45 of file src/core/lib/resource_quota/arena.h.
|
inlineexplicitprivate |
Definition at line 100 of file src/core/lib/resource_quota/arena.h.
|
private |
Definition at line 48 of file src/core/lib/resource_quota/arena.cc.
|
inline |
Definition at line 60 of file src/core/lib/resource_quota/arena.h.
|
private |
Definition at line 81 of file src/core/lib/resource_quota/arena.cc.
|
static |
Definition at line 58 of file src/core/lib/resource_quota/arena.cc.
|
static |
Definition at line 63 of file src/core/lib/resource_quota/arena.cc.
size_t Arena::Destroy | ( | ) |
Definition at line 73 of file src/core/lib/resource_quota/arena.cc.
Definition at line 77 of file src/core/lib/resource_quota/arena.h.
|
private |
Definition at line 114 of file src/core/lib/resource_quota/arena.h.
|
private |
Definition at line 120 of file src/core/lib/resource_quota/arena.h.
|
private |
Definition at line 122 of file src/core/lib/resource_quota/arena.h.
|
private |
Definition at line 113 of file src/core/lib/resource_quota/arena.h.
|
private |
Definition at line 112 of file src/core/lib/resource_quota/arena.h.