diff options
| author | Yukihiro Matsumoto <[email protected]> | 2012-09-21 15:10:38 +0900 |
|---|---|---|
| committer | Yukihiro Matsumoto <[email protected]> | 2012-09-21 15:10:38 +0900 |
| commit | 84008f99d5e7fa6475f8d2ddecaa4317306acdf9 (patch) | |
| tree | b3812e3474a5c2b2db373225bb2588f09684104a /src | |
| parent | 15cf8fdea4a6598aa470e698e8cbc9b9b492319d (diff) | |
| download | mruby-84008f99d5e7fa6475f8d2ddecaa4317306acdf9.tar.gz mruby-84008f99d5e7fa6475f8d2ddecaa4317306acdf9.zip | |
should adjust pc after OP_CALL
Diffstat (limited to 'src')
| -rw-r--r-- | src/vm.c | 9 |
1 files changed, 5 insertions, 4 deletions
@@ -847,14 +847,15 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self) mrb->arena_idx = ai; if (mrb->exc) goto L_RAISE; /* pop stackpos */ - regs = mrb->stack = mrb->stbase + mrb->ci->stackidx; - regs[mrb->ci->acc] = recv; + ci = mrb->ci; + regs = mrb->stack = mrb->stbase + ci->stackidx; + regs[ci->acc] = recv; + pc = ci->pc; cipop(mrb); irep = mrb->ci->proc->body.irep; pool = irep->pool; syms = irep->syms; - pc = mrb->ci->pc; - NEXT; + JUMP; } else { /* setup environment for calling method */ |
