diff --git a/src/vm.c b/src/vm.c index 8e2d03f88..a752c698b 100644 --- a/src/vm.c +++ b/src/vm.c @@ -855,12 +855,12 @@ mrb_context_run(mrb_state *mrb, struct RProc *proc, mrb_value self, unsigned int CASE(OP_EPOP) { /* A A.times{ensure_pop().call} */ - int n; int a = GETARG_A(i); mrb_callinfo *ci = mrb->c->ci; + int n, eidx = ci->eidx; - for (n=0; neidx > ci[-1].eidx; n++) { - ecall(mrb, --ci->eidx); + for (n=0; n ci[-1].eidx; n++) { + ecall(mrb, --eidx); ARENA_RESTORE(mrb, ai); } NEXT;