Merge pull request #4470 from dearblue/remove-mrb_alloca

Remove `mrb_alloca()` function
This commit is contained in:
Yukihiro "Matz" Matsumoto
2019-05-27 14:45:10 +09:00
committed by GitHub
2 changed files with 0 additions and 35 deletions
-2
View File
@@ -228,7 +228,6 @@ typedef struct mrb_state {
struct RClass *symbol_class;
struct RClass *kernel_module;
struct alloca_header *mems;
mrb_gc gc;
#ifdef MRB_METHOD_CACHE
@@ -1247,7 +1246,6 @@ MRB_API void mrb_pool_close(struct mrb_pool*);
MRB_API void* mrb_pool_alloc(struct mrb_pool*, size_t);
MRB_API void* mrb_pool_realloc(struct mrb_pool*, void*, size_t oldlen, size_t newlen);
MRB_API mrb_bool mrb_pool_can_realloc(struct mrb_pool*, void*, size_t);
MRB_API void* mrb_alloca(mrb_state *mrb, size_t);
MRB_API void mrb_state_atexit(mrb_state *mrb, mrb_atexit_func func);
-33
View File
@@ -57,38 +57,6 @@ mrb_default_allocf(mrb_state *mrb, void *p, size_t size, void *ud)
}
}
struct alloca_header {
struct alloca_header *next;
char buf[1];
};
MRB_API void*
mrb_alloca(mrb_state *mrb, size_t size)
{
struct alloca_header *p;
p = (struct alloca_header*) mrb_malloc(mrb, sizeof(struct alloca_header)+size);
p->next = mrb->mems;
mrb->mems = p;
return (void*)p->buf;
}
static void
mrb_alloca_free(mrb_state *mrb)
{
struct alloca_header *p;
struct alloca_header *tmp;
if (mrb == NULL) return;
p = mrb->mems;
while (p) {
tmp = p;
p = p->next;
mrb_free(mrb, tmp);
}
}
MRB_API mrb_state*
mrb_open(void)
{
@@ -256,7 +224,6 @@ mrb_close(mrb_state *mrb)
mrb_gc_free_gv(mrb);
mrb_free_context(mrb, mrb->root_c);
mrb_free_symtbl(mrb);
mrb_alloca_free(mrb);
mrb_gc_destroy(mrb, &mrb->gc);
mrb_free(mrb, mrb);
}