diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2018-10-23 21:10:03 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2018-10-23 21:10:03 +0900 |
| commit | b3a181aaa13aaa85e968fd09b780c061289aea38 (patch) | |
| tree | bbe16f97a34fb8d8f125079aed8d4bda18a8094b /mrbgems/mruby-eval | |
| parent | 80b5a56f5139c9bcc6f064ac77c7a69b7489137c (diff) | |
| download | mruby-b3a181aaa13aaa85e968fd09b780c061289aea38.tar.gz mruby-b3a181aaa13aaa85e968fd09b780c061289aea38.zip | |
Fixed a bug in processing `OP_EXT?` instructions.
fix haconiwa/haconiwa#171
Diffstat (limited to 'mrbgems/mruby-eval')
| -rw-r--r-- | mrbgems/mruby-eval/src/eval.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/mrbgems/mruby-eval/src/eval.c b/mrbgems/mruby-eval/src/eval.c index e6a82723d..fa687d624 100644 --- a/mrbgems/mruby-eval/src/eval.c +++ b/mrbgems/mruby-eval/src/eval.c @@ -201,16 +201,16 @@ patch_irep(mrb_state *mrb, mrb_irep *irep, int bnest, mrb_irep *top) break; case OP_EXT1: - insn = PEEK_B(irep->iseq+1); - i += mrb_insn_size1[insn]; + insn = PEEK_B(irep->iseq+i+1); + i += mrb_insn_size1[insn]+1; continue; case OP_EXT2: - insn = PEEK_B(irep->iseq+1); - i += mrb_insn_size2[insn]; + insn = PEEK_B(irep->iseq+i+1); + i += mrb_insn_size2[insn]+1; continue; case OP_EXT3: - insn = PEEK_B(irep->iseq+1); - i += mrb_insn_size3[insn]; + insn = PEEK_B(irep->iseq+i+1); + i += mrb_insn_size3[insn]+1; continue; } i+=mrb_insn_size[insn]; |
