diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2016-11-25 08:00:33 +0900 |
|---|---|---|
| committer | GitHub <[email protected]> | 2016-11-25 08:00:33 +0900 |
| commit | 99f6de529e3ffd35bd2924c727e12962f6c90999 (patch) | |
| tree | d6f3ce9ecaf598b76a70e80e58e5af348a9f51ef /mrbgems | |
| parent | a630c4f413f6af764e68210430e8b61a435d38d7 (diff) | |
| parent | 964427f82c5a8556daf4448b47cc65fb6d2a94b8 (diff) | |
| download | mruby-99f6de529e3ffd35bd2924c727e12962f6c90999.tar.gz mruby-99f6de529e3ffd35bd2924c727e12962f6c90999.zip | |
Merge pull request #3290 from bouk/unsafe-peep
Fix unsafe peephole optimization
Diffstat (limited to 'mrbgems')
| -rw-r--r-- | mrbgems/mruby-compiler/core/codegen.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/mrbgems/mruby-compiler/core/codegen.c b/mrbgems/mruby-compiler/core/codegen.c index 0c84dd558..39d62348a 100644 --- a/mrbgems/mruby-compiler/core/codegen.c +++ b/mrbgems/mruby-compiler/core/codegen.c @@ -1798,8 +1798,10 @@ codegen(codegen_scope *s, node *tree, int val) int pos; pop(); - if (val && vsp >= 0) { - genop(s, MKOP_AB(OP_MOVE, vsp, cursp())); + if (val) { + if (vsp >= 0) { + genop(s, MKOP_AB(OP_MOVE, vsp, cursp())); + } pos = genop(s, MKOP_AsBx(name[0]=='|'?OP_JMPIF:OP_JMPNOT, cursp(), 0)); } else { |
