summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorMiura Hideki <[email protected]>2017-06-20 12:50:00 +0900
committerMiura Hideki <[email protected]>2017-06-20 12:50:00 +0900
commit0fa94f9ead4c84b8260b5a634ac247defc88d0da (patch)
treed27c3f0196d972cc4f859487b2a390e673d8bd3f
parent615e7e44e3bd277bd0f73410dc253aa6d4e2bd34 (diff)
downloadmruby-0fa94f9ead4c84b8260b5a634ac247defc88d0da.tar.gz
mruby-0fa94f9ead4c84b8260b5a634ac247defc88d0da.zip
#3711 fix
-rw-r--r--src/vm.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/vm.c b/src/vm.c
index c34737789..324a90a41 100644
--- a/src/vm.c
+++ b/src/vm.c
@@ -1894,9 +1894,13 @@ RETRY_TRY_BLOCK:
}
/* call ensure only when we skip this callinfo */
if (ci[0].ridx == ci[-1].ridx) {
+ mrb_value *org_stbase = mrb->c->stbase;
while (mrb->c->eidx > ci->epos) {
ecall(mrb, --mrb->c->eidx);
ci = mrb->c->ci;
+ if (org_stbase != mrb->c->stbase) {
+ stk = mrb->c->stack;
+ }
}
}
}