[前][次][番号順一覧][スレッド一覧]

ruby-changes:47326

From: nobu <ko1@a...>
Date: Sat, 29 Jul 2017 11:03:18 +0900 (JST)
Subject: [ruby-changes:47326] nobu:r59442 (trunk): compile.c: fix flip-flop value

nobu	2017-07-29 11:03:11 +0900 (Sat, 29 Jul 2017)

  New Revision: 59442

  https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=59442

  Log:
    compile.c: fix flip-flop value
    
    * compile.c (iseq_compile_each0): as compile_flip_flop always ends
      with a jump instruction, successive instruction is never reached,
      but caused stack consistency error without peephole optimization.

  Modified files:
    trunk/compile.c
Index: compile.c
===================================================================
--- compile.c	(revision 59441)
+++ compile.c	(revision 59442)
@@ -6244,7 +6244,6 @@ iseq_compile_each0(rb_iseq_t *iseq, LINK https://github.com/ruby/ruby/blob/trunk/compile.c#L6244
 	LABEL *lfalse = NEW_LABEL(line);
 	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);
 	ADD_INSNL(ret, line, jump, lend);

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]