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

ruby-changes:2860

From: ko1@a...
Date: 20 Dec 2007 09:46:26 +0900
Subject: [ruby-changes:2860] ko1 - Ruby:r14351 (trunk): * compile.c (iseq_compile_each/NODE_RETURN): fix stack consistency.

ko1	2007-12-20 09:46:12 +0900 (Thu, 20 Dec 2007)

  New Revision: 14351

  Modified files:
    trunk/ChangeLog
    trunk/compile.c

  Log:
    * compile.c (iseq_compile_each/NODE_RETURN): fix stack consistency.
    


  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/compile.c?r1=14351&r2=14350
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=14351&r2=14350

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 14350)
+++ ChangeLog	(revision 14351)
@@ -1,3 +1,7 @@
+Thu Dec 20 09:40:51 2007  Koichi Sasada  <ko1@a...>
+
+	* compile.c (iseq_compile_each/NODE_RETURN): fix stack consistency.
+
 Thu Dec 20 09:42:11 2007  Yukihiro Matsumoto  <matz@r...>
 
 	* bignum.c (big2str_orig): access beyond memory region cause crash
Index: compile.c
===================================================================
--- compile.c	(revision 14350)
+++ compile.c	(revision 14351)
@@ -3804,12 +3804,13 @@
 		}
 		else {
 		    ADD_INSN1(ret, nd_line(node), throw, INT2FIX(0x01) /* TAG_RETURN */ );
-		    ADD_INSN(ret, nd_line(node), pop);
+		    if (poped) {
+			ADD_INSN(ret, nd_line(node), pop);
+		    }
 		}
 		break;
 	    }
 	}
-
 	break;
       }
       case NODE_YIELD:{

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

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