mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
26 lines
538 B
C
26 lines
538 B
C
/*
|
|
** pool.h - memory pool
|
|
**
|
|
** See Copyright Notice in mruby.h
|
|
*/
|
|
|
|
#include "mruby.h"
|
|
#include <stddef.h>
|
|
|
|
typedef struct mrb_pool {
|
|
mrb_state *mrb;
|
|
struct mrb_pool_page {
|
|
struct mrb_pool_page *next;
|
|
size_t offset;
|
|
size_t len;
|
|
void *last;
|
|
char page[1];
|
|
} *pages;
|
|
} mrb_pool;
|
|
|
|
mrb_pool* mrb_pool_open(mrb_state*);
|
|
void mrb_pool_close(mrb_pool*);
|
|
void* mrb_pool_alloc(mrb_pool*, size_t);
|
|
void* mrb_pool_realloc(mrb_pool*, void*, size_t oldlen, size_t newlen);
|
|
int mrb_pool_can_realloc(mrb_pool*, void*, size_t);
|