summaryrefslogtreecommitdiffhomepage
path: root/src/vm.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/vm.c')
-rw-r--r--src/vm.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/vm.c b/src/vm.c
index 6d4a5360c..47ad9a9cc 100644
--- a/src/vm.c
+++ b/src/vm.c
@@ -294,21 +294,21 @@ static void
ecall(mrb_state *mrb, int i)
{
struct RProc *p;
- mrb_callinfo *ci;
+ mrb_callinfo *ci = mrb->c->ci;
mrb_value *self = mrb->c->stack;
struct RObject *exc;
int cioff;
if (i<0) return;
- if (mrb->c->ci - mrb->c->cibase > MRB_FUNCALL_DEPTH_MAX) {
+ if (ci - mrb->c->cibase > MRB_FUNCALL_DEPTH_MAX) {
mrb_exc_raise(mrb, mrb_obj_value(mrb->stack_err));
}
p = mrb->c->ensure[i];
if (!p) return;
mrb->c->ensure[i] = NULL;
- if (mrb->c->ci->eidx > i)
- mrb->c->ci->eidx = i;
- cioff = mrb->c->ci - mrb->c->cibase;
+ if (ci->eidx > i)
+ ci->eidx = i;
+ cioff = ci - mrb->c->cibase;
ci = cipush(mrb);
ci->stackent = mrb->c->stack;
ci->mid = ci[-1].mid;
@@ -1060,7 +1060,6 @@ RETRY_TRY_BLOCK:
/* A B C R(A) := uvget(B,C) */
mrb_value *regs_a = regs + GETARG_A(i);
int up = GETARG_C(i);
-
struct REnv *e = uvenv(mrb, up);
if (!e) {