From d2f4d58d529d1684897766b20367d0af11d58ea2 Mon Sep 17 00:00:00 2001 From: nagachika Date: Tue, 9 Sep 2014 17:59:51 +0000 Subject: [PATCH] merge revision(s) r47191: [Backport #10140] * 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/branches/ruby_2_1@47481 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 7 +++++++ iseq.c | 2 +- version.h | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4678b61a24..f2b89c44ca 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Wed Sep 10 02:51:38 2014 Koichi Sasada + + * 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. + Wed Sep 10 02:33:08 2014 Koichi Sasada * parse.y (setup_fake_str): fake strings should not set class by diff --git a/iseq.c b/iseq.c index 32d9967964..700a161f6b 100644 --- a/iseq.c +++ b/iseq.c @@ -1943,7 +1943,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; diff --git a/version.h b/version.h index 341b57cdbc..4275f66862 100644 --- a/version.h +++ b/version.h @@ -1,6 +1,6 @@ #define RUBY_VERSION "2.1.2" #define RUBY_RELEASE_DATE "2014-09-10" -#define RUBY_PATCHLEVEL 228 +#define RUBY_PATCHLEVEL 229 #define RUBY_RELEASE_YEAR 2014 #define RUBY_RELEASE_MONTH 9