diff --git a/src/vm.c b/src/vm.c index 596e34961..b81ae249e 100644 --- a/src/vm.c +++ b/src/vm.c @@ -1207,6 +1207,7 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self) ci = mrb->ci; if (ci[1].acc < 0 && prev_jmp) { mrb->jmp = prev_jmp; + mrb->stack = mrb->stbase + ci[1].stackidx; longjmp(*(jmp_buf*)mrb->jmp, 1); } while (eidx > mrb->ci->eidx) {