should have rewinded stack on exceptions; close #1113

parent 8a2ecba0
...@@ -1207,6 +1207,7 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self) ...@@ -1207,6 +1207,7 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self)
ci = mrb->ci; ci = mrb->ci;
if (ci[1].acc < 0 && prev_jmp) { if (ci[1].acc < 0 && prev_jmp) {
mrb->jmp = prev_jmp; mrb->jmp = prev_jmp;
mrb->stack = mrb->stbase + ci[1].stackidx;
longjmp(*(jmp_buf*)mrb->jmp, 1); longjmp(*(jmp_buf*)mrb->jmp, 1);
} }
while (eidx > mrb->ci->eidx) { while (eidx > mrb->ci->eidx) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment