stack_extend in mrb_f_send

mrb_f_send needs stack_extend like OP_SEND

Signed-off-by: Go Saito <gos@iij.ad.jp>
This commit is contained in:
Go Saito
2015-03-05 17:20:55 +09:00
parent 7d67c573d7
commit 16b5986d14
+7
View File
@@ -472,6 +472,13 @@ mrb_f_send(mrb_state *mrb, mrb_value self)
return p->body.func(mrb, self);
}
if (ci->argc < 0) {
stack_extend(mrb, (p->body.irep->nregs < 3) ? 3 : p->body.irep->nregs, 3);
}
else {
stack_extend(mrb, p->body.irep->nregs, ci->argc+2);
}
ci->nregs = p->body.irep->nregs;
ci = cipush(mrb);
ci->nregs = 0;