diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-03-13 00:11:25 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-03-13 00:11:25 +0000 |
commit | 8489456e17c5a114cd6246fcce2eee926d07ee68 (patch) | |
tree | a1414f6e38f5f945280f14351ba48b33471fff5c /compile.c | |
parent | 44251ef50a30528f1d202b402b0b8d3a4fc518cb (diff) | |
download | ruby-8489456e17c5a114cd6246fcce2eee926d07ee68.tar.gz |
compile.c: compile flip-flop
* compile.c (iseq_compile_each0): compile flip-flop directly.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57947 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'compile.c')
-rw-r--r-- | compile.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -6103,7 +6103,8 @@ iseq_compile_each0(rb_iseq_t *iseq, LINK_ANCHOR *const ret, NODE *node, int popp LABEL *lend = NEW_LABEL(line); LABEL *ltrue = NEW_LABEL(line); LABEL *lfalse = NEW_LABEL(line); - compile_branch_condition(iseq, ret, node, ltrue, lfalse); + CHECK(compile_flip_flop(iseq, ret, node, type == NODE_FLIP2, + ltrue, lfalse)); ADD_INSNL(ret, line, jump, lend); ADD_LABEL(ret, ltrue); ADD_INSN1(ret, line, putobject, Qtrue); |