summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2013-10-30 12:01:18 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2013-10-30 12:01:18 +0900
commitf8fea6931cc826cdc5c87a0574ff19235d328064 (patch)
tree5b1acf591e06cdbed968dc77c835017d115e0e73
parentc2ad094839166b20baba35c0b2e30ec10d9107c3 (diff)
downloadmruby-f8fea6931cc826cdc5c87a0574ff19235d328064.tar.gz
mruby-f8fea6931cc826cdc5c87a0574ff19235d328064.zip
preserve only arguments on stack; fix #1527
-rw-r--r--src/vm.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/vm.c b/src/vm.c
index a08565d55..155c31391 100644
--- a/src/vm.c
+++ b/src/vm.c
@@ -595,7 +595,7 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self)
if (!mrb->c->stack) {
stack_init(mrb);
}
- stack_extend(mrb, irep->nregs, irep->nregs);
+ stack_extend(mrb, irep->nregs, mrb->c->ci->argc + 2); /* argc + 2 (receiver and block) */
mrb->c->ci->err = pc;
mrb->c->ci->proc = proc;
mrb->c->ci->nregs = irep->nregs + 1;