Permalink
Browse files

Simplify pointer calculation in `envadjust`.

  • Loading branch information...
matz committed Apr 21, 2017
1 parent ad3b61f commit a1d32af91692c2b624e9c04fcd94aa958dbba626
Showing with 4 additions and 4 deletions.
  1. +4 −4 src/vm.c
View
@@ -118,16 +118,16 @@ static inline void
envadjust(mrb_state *mrb, mrb_value *oldbase, mrb_value *newbase)
{
mrb_callinfo *ci = mrb->c->cibase;
ptrdiff_t off;
if (newbase == oldbase) return;
off = newbase - oldbase;
while (ci <= mrb->c->ci) {
struct REnv *e = ci->env;
if (e && MRB_ENV_STACK_SHARED_P(e)) {
ptrdiff_t off = e->stack - oldbase;
e->stack = newbase + off;
e->stack += off;
}
ci->stackent = newbase + (ci->stackent - oldbase);
ci->stackent += off;
ci++;
}
}

0 comments on commit a1d32af

Please sign in to comment.