diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2012-07-28 06:44:04 -0700 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2012-07-28 06:44:04 -0700 |
| commit | 5d58bd0d78de41d707cdbde3f48908da01d34ec6 (patch) | |
| tree | 91f104bd4d3e5ff7ec39033d55b366bf9e0c2f3b /src/vm.c | |
| parent | 7f8076ef90be326d7a199baad32d0a84ebbec6d3 (diff) | |
| parent | a985cf7945d6aec6d483f76b9427382bb5d984e1 (diff) | |
| download | mruby-5d58bd0d78de41d707cdbde3f48908da01d34ec6.tar.gz mruby-5d58bd0d78de41d707cdbde3f48908da01d34ec6.zip | |
Merge pull request #397 from masamitsu-murase/modify_op_send
Modify ci->nregs.
Diffstat (limited to 'src/vm.c')
| -rw-r--r-- | src/vm.c | 7 |
1 files changed, 6 insertions, 1 deletions
@@ -718,7 +718,12 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self) mrb->stack += a; if (MRB_PROC_CFUNC_P(m)) { - ci->nregs = n + 1; + if (n == CALL_MAXARGS) { + ci->nregs = 3; + } + else { + ci->nregs = n + 2; + } mrb->stack[0] = m->body.func(mrb, recv); mrb->arena_idx = ai; if (mrb->exc) goto L_RAISE; |
