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

ruby-changes:1947

From: ko1@a...
Date: 13 Sep 2007 15:42:20 +0900
Subject: [ruby-changes:1947] nobu - Ruby:r13438 (trunk): * compile.c (iseq_compile_each): inline cache entries are overwritten

nobu	2007-09-13 15:42:05 +0900 (Thu, 13 Sep 2007)

  New Revision: 13438

  Modified files:
    trunk/ChangeLog
    trunk/compile.c

  Log:
    * compile.c (iseq_compile_each): inline cache entries are overwritten
      in iseq_build_body().


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

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 13437)
+++ ChangeLog	(revision 13438)
@@ -1,3 +1,8 @@
+Thu Sep 13 15:42:03 2007  Nobuyoshi Nakada  <nobu@r...>
+
+	* compile.c (iseq_compile_each): inline cache entries are overwritten
+	  in iseq_build_body().
+
 Thu Sep 13 14:00:15 2007  Nobuyoshi Nakada  <nobu@r...>
 
 	* parse.y (brace_block): should use compstmt.  patch submitted by
Index: compile.c
===================================================================
--- compile.c	(revision 13437)
+++ compile.c	(revision 13438)
@@ -3843,8 +3843,7 @@
 	    LABEL *lend = NEW_LABEL(nd_line(node));
 
 	    ADD_LABEL(ret, lstart);
-	    ADD_INSN2(ret, nd_line(node), getinlinecache,
-		      NEW_INLINE_CACHE_ENTRY(), lend);
+	    ADD_INSN2(ret, nd_line(node), getinlinecache, 0, lend);
 	    ADD_INSN1(ret, nd_line(node), getconstant, ID2SYM(node->nd_vid));
 	    ADD_INSN1(ret, nd_line(node), setinlinecache, lstart);
 	    ADD_LABEL(ret, lend);
@@ -3998,8 +3997,7 @@
 	LABEL *lend = NEW_LABEL(nd_line(node));
 
 	ADD_LABEL(ret, lstart);
-	ADD_INSN2(ret, nd_line(node), onceinlinecache,
-		  NEW_INLINE_CACHE_ENTRY(), lend);
+	ADD_INSN2(ret, nd_line(node), onceinlinecache, 0, lend);
 	ADD_INSN(ret, nd_line(node), pop);
 
 	compile_dstr(iseq, ret, node);
@@ -4162,8 +4160,7 @@
 	    if (LIST_SIZE_ZERO(pref)) {
 		if (iseq->compile_data->option->inline_const_cache) {
 		    ADD_LABEL(ret, lstart);
-		    ADD_INSN2(ret, nd_line(node), getinlinecache,
-			      NEW_INLINE_CACHE_ENTRY(), lend);
+		    ADD_INSN2(ret, nd_line(node), getinlinecache, 0, lend);
 		}
 		else {
 		    ADD_INSN(ret, nd_line(node), putnil);
@@ -4201,8 +4198,7 @@
 	/* add cache insn */
 	if (iseq->compile_data->option->inline_const_cache) {
 	    ADD_LABEL(ret, lstart);
-	    ADD_INSN2(ret, nd_line(node), getinlinecache,
-		      NEW_INLINE_CACHE_ENTRY(), lend);
+	    ADD_INSN2(ret, nd_line(node), getinlinecache, 0, lend);
 	    ADD_INSN(ret, nd_line(node), pop);
 	}
 

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

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