21#ifndef UPB_MEM_ARENA_H_
22#define UPB_MEM_ARENA_H_
111 size_t oldsize,
size_t size);
123#ifdef UPB_TRACING_ENABLED
124void upb_Arena_SetTraceHandler(
void (*initArenaTraceHandler)(
const upb_Arena*,
126 void (*fuseArenaTraceHandler)(
const upb_Arena*,
128 void (*freeArenaTraceHandler)(
const upb_Arena*));
upb_alloc * upb_alloc_global(void)
UPB_API_INLINE upb_Arena * upb_Arena_NewSized(size_t size_hint)
Definition arena.h:84
bool upb_Arena_IncRefFor(const upb_Arena *a, const void *owner)
UPB_API_INLINE void upb_Arena_ShrinkLast(upb_Arena *a, void *ptr, size_t oldsize, size_t size)
Definition arena.h:84
UPB_API_INLINE void * upb_Arena_Realloc(upb_Arena *a, void *ptr, size_t oldsize, size_t size)
Definition arena.h:124
UPB_API void upb_Arena_SetAllocCleanup(upb_Arena *a, upb_AllocCleanupFunc *func)
UPB_API upb_Arena * upb_Arena_Init(void *mem, size_t n, upb_alloc *alloc)
UPB_API bool upb_Arena_Fuse(const upb_Arena *a, const upb_Arena *b)
UPB_API bool upb_Arena_IsFused(const upb_Arena *a, const upb_Arena *b)
uintptr_t upb_Arena_SpaceAllocated(const upb_Arena *a, size_t *fused_count)
void upb_Arena_SetMaxBlockSize(size_t max)
UPB_API_INLINE bool upb_Arena_TryExtend(upb_Arena *a, void *ptr, size_t oldsize, size_t size)
Definition arena.h:106
UPB_API_INLINE void * upb_Arena_Malloc(struct upb_Arena *a, size_t size)
Definition arena.h:65
void upb_AllocCleanupFunc(upb_alloc *alloc)
Definition arena.h:35
UPB_API upb_alloc * upb_Arena_GetUpbAlloc(upb_Arena *a)
uint32_t upb_Arena_DebugRefCount(const upb_Arena *a)
void upb_Arena_DecRefFor(const upb_Arena *a, const void *owner)
UPB_API_INLINE upb_Arena * upb_Arena_New(void)
Definition arena.h:80
UPB_API void upb_Arena_Free(upb_Arena *a)
#define UPB_API_INLINE
Definition def.inc:163
#define UPB_DEFAULT_MAX_BLOCK_SIZE
Definition def.inc:354
#define UPB_PRIVATE(x)
Definition def.inc:393
#define UPB_API
Definition def.inc:162