diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2017-04-25 22:03:50 +0900 |
|---|---|---|
| committer | GitHub <[email protected]> | 2017-04-25 22:03:50 +0900 |
| commit | a3d80e8e733deddddd7ed36ec07e8f29a7b928c2 (patch) | |
| tree | de890ed77da3c1aa3bf68d5db6f2e0d5359e2959 | |
| parent | 3e07a2d77c5c2979e35e4f40475c6d6758669d04 (diff) | |
| parent | b1120464e0b0cd1dc2f90e790249e78c4843bee9 (diff) | |
| download | mruby-a3d80e8e733deddddd7ed36ec07e8f29a7b928c2.tar.gz mruby-a3d80e8e733deddddd7ed36ec07e8f29a7b928c2.zip | |
Merge pull request #3637 from dabroz/fix-32-bit
Restore 32-bit OSX builds
| -rw-r--r-- | src/vm.c | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -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)) { - e->stack += off; + ptrdiff_t off = e->stack - oldbase; + + e->stack = newbase + off; } - ci->stackent += off; + ci->stackent = newbase + (ci->stackent - oldbase); ci++; } } |
