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

ruby-changes:35109

From: ko1 <ko1@a...>
Date: Fri, 15 Aug 2014 19:39:32 +0900 (JST)
Subject: [ruby-changes:35109] ko1:r47191 (trunk): * iseq.c (rb_iseq_clone): Should not insert write barrier from

ko1	2014-08-15 19:39:27 +0900 (Fri, 15 Aug 2014)

  New Revision: 47191

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

  Log:
    * iseq.c (rb_iseq_clone): Should not insert write barrier from
      non-RVALUE data (to non-RVALUE data, of course).
      Ruby 2.1 also has a same problem.

  Modified files:
    trunk/ChangeLog
    trunk/iseq.c
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 47190)
+++ ChangeLog	(revision 47191)
@@ -1,3 +1,10 @@ https://github.com/ruby/ruby/blob/trunk/ChangeLog#L1
+Fri Aug 15 19:38:00 2014  Koichi Sasada  <ko1@a...>
+
+	* iseq.c (rb_iseq_clone): Should not insert write barrier from
+	  non-RVALUE data (to non-RVALUE data, of course).
+
+	  Ruby 2.1 also has a same problem.
+
 Fri Aug 15 19:34:33 2014  Koichi Sasada  <ko1@a...>
 
 	* string.c (setup_fake_str): fake strings should not set class by
Index: iseq.c
===================================================================
--- iseq.c	(revision 47190)
+++ iseq.c	(revision 47191)
@@ -1941,7 +1941,7 @@ rb_iseq_clone(VALUE iseqval, VALUE newcb https://github.com/ruby/ruby/blob/trunk/iseq.c#L1941
 	if (iseq0->cref_stack->nd_next) {
 	    RB_OBJ_WRITE(iseq1->cref_stack, &iseq1->cref_stack->nd_next, iseq0->cref_stack->nd_next);
 	}
-	RB_OBJ_WRITE(iseq1, &iseq1->klass, newcbase);
+	RB_OBJ_WRITE(iseq1->self, &iseq1->klass, newcbase);
     }
 
     return newiseq;

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

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