Commit b1120464 authored by Tomasz Dąbrowski's avatar Tomasz Dąbrowski

Revert "Simplify pointer calculation in `envadjust`."

This reverts commit a1d32af9.
parent 6088276c
...@@ -118,16 +118,16 @@ static inline void ...@@ -118,16 +118,16 @@ static inline void
envadjust(mrb_state *mrb, mrb_value *oldbase, mrb_value *newbase) envadjust(mrb_state *mrb, mrb_value *oldbase, mrb_value *newbase)
{ {
mrb_callinfo *ci = mrb->c->cibase; mrb_callinfo *ci = mrb->c->cibase;
ptrdiff_t off;
if (newbase == oldbase) return; if (newbase == oldbase) return;
off = newbase - oldbase;
while (ci <= mrb->c->ci) { while (ci <= mrb->c->ci) {
struct REnv *e = ci->env; struct REnv *e = ci->env;
if (e && MRB_ENV_STACK_SHARED_P(e)) { if (e && MRB_ENV_STACK_SHARED_P(e)) {
e->stack += off; ptrdiff_t off = e->stack - oldbase;
e->stack = newbase + off;
} }
ci->stackent += off; ci->stackent = newbase + (ci->stackent - oldbase);
ci++; ci++;
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment