From 9ef2f551b740ece3fcea0c829183d4d8db21c44a Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Tue, 13 May 2025 08:13:48 +0900 Subject: [PATCH] mruby-compiler: use new mempool API --- include/mruby/compile.h | 2 +- mrbgems/mruby-compiler/core/codegen.c | 16 ++++++++-------- mrbgems/mruby-compiler/core/parse.y | 12 ++++++------ 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/include/mruby/compile.h b/include/mruby/compile.h index 29d1a324f..7367b1de3 100644 --- a/include/mruby/compile.h +++ b/include/mruby/compile.h @@ -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 diff --git a/mrbgems/mruby-compiler/core/codegen.c b/mrbgems/mruby-compiler/core/codegen.c index 546776aa6..32313d619 100644 --- a/mrbgems/mruby-compiler/core/codegen.c +++ b/mrbgems/mruby-compiler/core/codegen.c @@ -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; } diff --git a/mrbgems/mruby-compiler/core/parse.y b/mrbgems/mruby-compiler/core/parse.y index 0eb3a92a8..32723503c 100644 --- a/mrbgems/mruby-compiler/core/parse.y +++ b/mrbgems/mruby-compiler/core/parse.y @@ -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*