From 89ebb0c4f15db5ed0e5e6d0715bfcf4fb0a1beac Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Thu, 30 Jul 2015 16:45:31 +0900 Subject: vm: execute ensure at the top of the fiber; fix #2903 --- src/vm.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/vm.c b/src/vm.c index 22ea177e0..765512a34 100644 --- a/src/vm.c +++ b/src/vm.c @@ -1497,6 +1497,9 @@ RETRY_TRY_BLOCK: MRB_THROW(prev_jmp); } if (ci == mrb->c->cibase) { + while (eidx > 0) { + ecall(mrb, --eidx); + } if (ci->ridx == 0) { if (mrb->c == mrb->root_c) { regs = mrb->c->stack = mrb->c->stbase; -- cgit v1.2.3