diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2021-09-23 20:11:30 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2021-09-23 20:11:30 +0900 |
| commit | 4c196dbba5debf9a75efdb27bdd8c69eac1c8661 (patch) | |
| tree | 39b276bcd33da668813346b624f79fcccef5f1de | |
| parent | fd7896e579682a8cf43c4eca84ea4fb341206ede (diff) | |
| download | mruby-4c196dbba5debf9a75efdb27bdd8c69eac1c8661.tar.gz mruby-4c196dbba5debf9a75efdb27bdd8c69eac1c8661.zip | |
codegen.c: separate maximum stack size from `GEN_LIT_ARY_MAX`.
| -rw-r--r-- | mrbgems/mruby-compiler/core/codegen.c | 5 |
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) { |
