From 6dda588503cb617536db8f4e871cad2b9292173f Mon Sep 17 00:00:00 2001 From: Masaki Muranaka Date: Mon, 25 Feb 2013 13:57:33 +0900 Subject: Use MRB_IREP_ARRAY_INIT_SIZE macro. It should be configurable since it is possible to reduce RAM size. --- include/mrbconf.h | 3 +++ src/state.c | 6 +++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/include/mrbconf.h b/include/mrbconf.h index 472bd12cf..164e6554c 100644 --- a/include/mrbconf.h +++ b/include/mrbconf.h @@ -34,6 +34,9 @@ /* initial size for IV khash; ignored when MRB_USE_IV_SEGLIST is set */ //#define MRB_IVHASH_INIT_SIZE 8 +/* initial size for IREP array */ +//#define MRB_IREP_ARRAY_INIT_SIZE (256u) + /* default size of khash table bucket */ //#define KHASH_DEFAULT_SIZE 32 diff --git a/src/state.c b/src/state.c index 53773ac89..19b0b660f 100644 --- a/src/state.c +++ b/src/state.c @@ -110,6 +110,10 @@ mrb_close(mrb_state *mrb) mrb_free(mrb, mrb); } +#ifndef MRB_IREP_ARRAY_INIT_SIZE +# define MRB_IREP_ARRAY_INIT_SIZE (256u) +#endif + mrb_irep* mrb_add_irep(mrb_state *mrb) { @@ -117,7 +121,7 @@ mrb_add_irep(mrb_state *mrb) mrb_irep *irep; if (!mrb->irep) { - int max = 256; + size_t max = MRB_IREP_ARRAY_INIT_SIZE; if (mrb->irep_len > max) max = mrb->irep_len+1; mrb->irep = (mrb_irep **)mrb_calloc(mrb, max, sizeof(mrb_irep*)); -- cgit v1.2.3