diff options
| author | YAMAMOTO Masaya <[email protected]> | 2017-11-04 01:23:12 +0900 |
|---|---|---|
| committer | YAMAMOTO Masaya <[email protected]> | 2017-11-04 01:23:12 +0900 |
| commit | 625f9f6fa314872968632c5adbee7fb3823268b8 (patch) | |
| tree | fdde1700b13048212606e4a995907f3757e18e2f /mrbgems/mruby-bin-mirb/tools/mirb/mirb.c | |
| parent | b70d69de09130ce2bc89289b4826b3deea8afaae (diff) | |
| parent | e7fe6ee2638dee438c1d79ab16a0403aebec0a60 (diff) | |
| download | mruby-625f9f6fa314872968632c5adbee7fb3823268b8.tar.gz mruby-625f9f6fa314872968632c5adbee7fb3823268b8.zip | |
Merge branch 'master' of github.com:mruby/mruby
Diffstat (limited to 'mrbgems/mruby-bin-mirb/tools/mirb/mirb.c')
| -rw-r--r-- | mrbgems/mruby-bin-mirb/tools/mirb/mirb.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c b/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c index fe311d830..7e5fd392f 100644 --- a/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c +++ b/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c @@ -544,6 +544,13 @@ done: if (args.verbose) { mrb_codedump_all(mrb, proc); } + /* adjust stack length of toplevel environment */ + if (mrb->c->cibase->env) { + struct REnv *e = mrb->c->cibase->env; + if (e && MRB_ENV_STACK_LEN(e) < proc->body.irep->nlocals) { + MRB_ENV_SET_STACK_LEN(e, proc->body.irep->nlocals); + } + } /* pass a proc for evaluation */ /* evaluate the bytecode */ result = mrb_vm_run(mrb, @@ -577,6 +584,8 @@ done: mrb_free(mrb, history_path); #endif + if (args.rfp) fclose(args.rfp); + mrb_free(mrb, args.argv); mrbc_context_free(mrb, cxt); mrb_close(mrb); |
