mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
mruby-compiler: use new mempool API
This commit is contained in:
@@ -123,7 +123,7 @@ struct mrb_parser_heredoc_info {
|
||||
/* parser structure */
|
||||
struct mrb_parser_state {
|
||||
mrb_state *mrb;
|
||||
mrb_mempool *pool;
|
||||
mempool *pool;
|
||||
mrb_ast_node *cells;
|
||||
const char *s, *send;
|
||||
#ifndef MRB_NO_STDIO
|
||||
|
||||
@@ -48,7 +48,7 @@ struct loopinfo {
|
||||
|
||||
typedef struct scope {
|
||||
mrb_state *mrb;
|
||||
mrb_mempool *mpool;
|
||||
mempool *mpool;
|
||||
|
||||
struct scope *prev;
|
||||
|
||||
@@ -144,7 +144,7 @@ codegen_error(codegen_scope *s, const char *message)
|
||||
}
|
||||
mrb_free(s->mrb, s->lines);
|
||||
}
|
||||
mrb_mempool_close(s->mpool);
|
||||
mempool_close(s->mpool);
|
||||
s = tmp;
|
||||
}
|
||||
MRB_THROW(s->mrb->jmp);
|
||||
@@ -153,7 +153,7 @@ codegen_error(codegen_scope *s, const char *message)
|
||||
static void*
|
||||
codegen_palloc(codegen_scope *s, size_t len)
|
||||
{
|
||||
void *p = mrb_mempool_alloc(s->mpool, len);
|
||||
void *p = mempool_alloc(s->mpool, len);
|
||||
|
||||
if (!p) codegen_error(s, "pool memory allocation");
|
||||
return p;
|
||||
@@ -3979,8 +3979,8 @@ static codegen_scope*
|
||||
scope_new(mrb_state *mrb, codegen_scope *prev, node *nlv)
|
||||
{
|
||||
static const codegen_scope codegen_scope_zero = { 0 };
|
||||
mrb_mempool *pool = mrb_mempool_open(mrb);
|
||||
codegen_scope *s = (codegen_scope*)mrb_mempool_alloc(pool, sizeof(codegen_scope));
|
||||
mempool *pool = mempool_open();
|
||||
codegen_scope *s = (codegen_scope*)mempool_alloc(pool, sizeof(codegen_scope));
|
||||
|
||||
if (!s) {
|
||||
if (prev)
|
||||
@@ -4086,7 +4086,7 @@ scope_finish(codegen_scope *s)
|
||||
irep->nregs = s->nregs;
|
||||
|
||||
mrb_gc_arena_restore(mrb, s->ai);
|
||||
mrb_mempool_close(s->mpool);
|
||||
mempool_close(s->mpool);
|
||||
}
|
||||
|
||||
static struct loopinfo*
|
||||
@@ -4215,7 +4215,7 @@ generate_code(mrb_state *mrb, parser_state *p, int val)
|
||||
codegen(scope, p->tree, val);
|
||||
proc = mrb_proc_new(mrb, scope->irep);
|
||||
mrb_irep_decref(mrb, scope->irep);
|
||||
mrb_mempool_close(scope->mpool);
|
||||
mempool_close(scope->mpool);
|
||||
proc->c = NULL;
|
||||
if (mrb->c->cibase && mrb->c->cibase->proc == proc->upper) {
|
||||
proc->upper = NULL;
|
||||
@@ -4225,7 +4225,7 @@ generate_code(mrb_state *mrb, parser_state *p, int val)
|
||||
}
|
||||
MRB_CATCH(mrb->jmp) {
|
||||
mrb_irep_decref(mrb, scope->irep);
|
||||
mrb_mempool_close(scope->mpool);
|
||||
mempool_close(scope->mpool);
|
||||
mrb->jmp = prev_jmp;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -111,7 +111,7 @@ cons_free_gen(parser_state *p, node *cons)
|
||||
static void*
|
||||
parser_palloc(parser_state *p, size_t size)
|
||||
{
|
||||
void *m = mrb_mempool_alloc(p->pool, size);
|
||||
void *m = mempool_alloc(p->pool, size);
|
||||
|
||||
if (!m) {
|
||||
MRB_THROW(p->mrb->jmp);
|
||||
@@ -1079,7 +1079,7 @@ static node*
|
||||
composite_string_node(parser_state *p, node *a, node *b)
|
||||
{
|
||||
size_t newlen = (size_t)a->cdr + (size_t)b->cdr;
|
||||
char *str = (char*)mrb_mempool_realloc(p->pool, a->car, (size_t)a->cdr + 1, newlen + 1);
|
||||
char *str = (char*)mempool_realloc(p->pool, a->car, (size_t)a->cdr + 1, newlen + 1);
|
||||
memcpy(str + (size_t)a->cdr, b->car, (size_t)b->cdr);
|
||||
str[newlen] = '\0';
|
||||
a->car = (node*)str;
|
||||
@@ -6684,13 +6684,13 @@ mrb_parser_parse(parser_state *p, mrb_ccontext *c)
|
||||
MRB_API parser_state*
|
||||
mrb_parser_new(mrb_state *mrb)
|
||||
{
|
||||
mrb_mempool *pool;
|
||||
mempool *pool;
|
||||
parser_state *p;
|
||||
static const parser_state parser_state_zero = { 0 };
|
||||
|
||||
pool = mrb_mempool_open(mrb);
|
||||
pool = mempool_open();
|
||||
if (!pool) return NULL;
|
||||
p = (parser_state*)mrb_mempool_alloc(pool, sizeof(parser_state));
|
||||
p = (parser_state*)mempool_alloc(pool, sizeof(parser_state));
|
||||
if (!p) return NULL;
|
||||
|
||||
*p = parser_state_zero;
|
||||
@@ -6728,7 +6728,7 @@ mrb_parser_free(parser_state *p) {
|
||||
if (p->tokbuf != p->buf) {
|
||||
mrb_free(p->mrb, p->tokbuf);
|
||||
}
|
||||
mrb_mempool_close(p->pool);
|
||||
mempool_close(p->pool);
|
||||
}
|
||||
|
||||
MRB_API mrb_ccontext*
|
||||
|
||||
Reference in New Issue
Block a user