class Arena

Defined at line 30 of file ../../zircon/kernel/lib/fbl/include/fbl/arena.h

Arena is a fast memory allocator for objects of a single size.

Both Alloc() and Free() are always O(1) and memory always comes

from a single contiguous chunk of page-aligned memory.

The control structures and data are not interleaved so it is

more resilient to memory bugs than traditional pool allocators.

The overhead per object is two pointers (16 bytes in 64-bits)

Public Methods

void ~Arena ()

Defined at line 28 of file ../../zircon/kernel/lib/fbl/arena.cc

void Arena ()

Defined at line 32 of file ../../zircon/kernel/lib/fbl/include/fbl/arena.h

bool in_range (uintptr_t addr)

Defined at line 38 of file ../../zircon/kernel/lib/fbl/include/fbl/arena.h

bool in_range (void * addr)

Defined at line 39 of file ../../zircon/kernel/lib/fbl/include/fbl/arena.h

zx_status_t Init (const char * name, size_t ob_size, size_t max_count)

Defined at line 39 of file ../../zircon/kernel/lib/fbl/arena.cc

void * start ()

Defined at line 41 of file ../../zircon/kernel/lib/fbl/include/fbl/arena.h

void * end ()

Defined at line 42 of file ../../zircon/kernel/lib/fbl/include/fbl/arena.h

size_t DiagnosticCount ()

Returns the number of outstanding allocations from this arena.

Defined at line 49 of file ../../zircon/kernel/lib/fbl/include/fbl/arena.h

void * Alloc ()

Defined at line 252 of file ../../zircon/kernel/lib/fbl/arena.cc

void Free (void * addr)

Defined at line 273 of file ../../zircon/kernel/lib/fbl/arena.cc

void Dump ()

Dumps information about the Arena using printf().

TIP: Use "k zx htinfo" to dump the handle table at runtime.

Defined at line 284 of file ../../zircon/kernel/lib/fbl/arena.cc

Friends

class ArenaTestFriend