38 template <
class SuperHeap,
size_t ChunkSize>
58 void * oldPtr = (
void *) ptr;
61 SuperHeap::free (oldPtr);
68 inline void reset(
const int chkSize)
80 inline void free (
void *) {}
83 inline int remove (
void *) {
return 0; }
96 sz = HL::align<HL::MallocInfo::Alignment>(sz);
106 if (allocSize < sz) {
110 (Arena *) SuperHeap::malloc (allocSize +
sizeof(Arena));
131 "Alignment must match Arena size.");
Arena * _currentArena
The current arena.
size_t _sizeRemaining
Space left in the current arena.
void * zoneMalloc(size_t sz)
Arena * _pastArenas
A linked list of past arenas.
ZoneHeap & operator=(const ZoneHeap &)
void reset(const int chkSize)
void free(void *)
Free in a zone allocator is a no-op.