From 3e759ed78d99193260ddda9b8dd80bc5710509fc Mon Sep 17 00:00:00 2001 From: ko1 Date: Fri, 15 Aug 2014 10:39:27 +0000 Subject: * 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. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47191 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- iseq.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'iseq.c') diff --git a/iseq.c b/iseq.c index 4e11679ed8..1eed85ba33 100644 --- a/iseq.c +++ b/iseq.c @@ -1941,7 +1941,7 @@ rb_iseq_clone(VALUE iseqval, VALUE newcbase) 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; -- cgit v1.2.3