summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-compiler/core/codegen.c
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2021-09-23 20:11:30 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2021-09-23 20:11:30 +0900
commit4c196dbba5debf9a75efdb27bdd8c69eac1c8661 (patch)
tree39b276bcd33da668813346b624f79fcccef5f1de /mrbgems/mruby-compiler/core/codegen.c
parentfd7896e579682a8cf43c4eca84ea4fb341206ede (diff)
downloadmruby-4c196dbba5debf9a75efdb27bdd8c69eac1c8661.tar.gz
mruby-4c196dbba5debf9a75efdb27bdd8c69eac1c8661.zip
codegen.c: separate maximum stack size from `GEN_LIT_ARY_MAX`.
Diffstat (limited to 'mrbgems/mruby-compiler/core/codegen.c')
-rw-r--r--mrbgems/mruby-compiler/core/codegen.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/mrbgems/mruby-compiler/core/codegen.c b/mrbgems/mruby-compiler/core/codegen.c
index 2d06c703a..5ff33b870 100644
--- a/mrbgems/mruby-compiler/core/codegen.c
+++ b/mrbgems/mruby-compiler/core/codegen.c
@@ -1500,13 +1500,14 @@ attrsym(codegen_scope *s, mrb_sym a)
#define CALL_MAXARGS 127
#define GEN_LIT_ARY_MAX 64
+#define GEN_VAL_STACK_MAX 99
static int
gen_values(codegen_scope *s, node *t, int val, int extra, int limit)
{
int n = 0;
int first = 1;
- int slimit = GEN_LIT_ARY_MAX;
+ int slimit = GEN_VAL_STACK_MAX;
if (limit == 0) limit = GEN_LIT_ARY_MAX;
if (cursp() >= slimit) slimit = INT16_MAX;
@@ -2414,7 +2415,7 @@ codegen(codegen_scope *s, node *tree, int val)
{
int len = 0;
mrb_bool update = FALSE;
- int slimit = GEN_LIT_ARY_MAX;
+ int slimit = GEN_VAL_STACK_MAX;
if (cursp() >= GEN_LIT_ARY_MAX) slimit = INT16_MAX;
while (tree) {