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/