diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2017-09-23 10:12:04 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2017-09-23 10:12:04 +0900 |
| commit | 7450a774a5f796f7e9d312ba9c9690097f4aa309 (patch) | |
| tree | 07c0fe302fb32291a5a2836aa51d4a4862b2fbba /src | |
| parent | 0ceaa0960af0b0150bc16da3d10a5e1ab0d3053b (diff) | |
| download | mruby-7450a774a5f796f7e9d312ba9c9690097f4aa309.tar.gz mruby-7450a774a5f796f7e9d312ba9c9690097f4aa309.zip | |
The first instruction was skipped mistakenly in ensure clause; fix #3811
Diffstat (limited to 'src')
| -rw-r--r-- | src/vm.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -1329,6 +1329,7 @@ RETRY_TRY_BLOCK: if (a > mrb->c->eidx - epos) a = mrb->c->eidx - epos; + pc = pc + 1; for (n=0; n<a; n++) { proc = mrb->c->ensure[epos+n]; irep = proc->body.irep; @@ -1339,7 +1340,7 @@ RETRY_TRY_BLOCK: ci->stackent = mrb->c->stack; ci->nregs = irep->nregs; ci->target_class = proc->target_class; - ci->pc = pc + 1; + ci->pc = pc; ci->acc = ci[-1].nregs; mrb->c->stack += ci->acc; stack_extend(mrb, ci->nregs); |
