summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDaniel Bovensiepen <[email protected]>2012-09-24 00:24:49 +0800
committerDaniel Bovensiepen <[email protected]>2012-09-24 00:24:49 +0800
commit3fb943e48b0017a0290fc6d48e6dc8cf6176c37d (patch)
treef04d80501c8b1aa687ab4928f9749b7a45bcc4a9
parentf699d8e41f20e9ed6519af7cfcd30323c783ecd2 (diff)
parent84008f99d5e7fa6475f8d2ddecaa4317306acdf9 (diff)
downloadmruby-3fb943e48b0017a0290fc6d48e6dc8cf6176c37d.tar.gz
mruby-3fb943e48b0017a0290fc6d48e6dc8cf6176c37d.zip
Merge remote-tracking branch 'upstream/master' into mrbgems
-rw-r--r--src/vm.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/vm.c b/src/vm.c
index 97c14e7aa..ce77f5b05 100644
--- a/src/vm.c
+++ b/src/vm.c
@@ -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 */