summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-04-13 07:52:40 +0000
committerusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-04-13 07:52:40 +0000
commit4f0e238f2854a9f3e5a1f3cbb0c8d32e66dc15d8 (patch)
tree93f011d48f90aed5594634398e87a971fb6a92eb
parent602edc0c11bc1f40cadee87c5df2ade81ef44d2c (diff)
merge revision(s) 49875: [Backport #10946]
* class.c (rb_prepend_module): need a WB for klass -> origin. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@50285 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog4
-rw-r--r--class.c2
-rw-r--r--version.h2
3 files changed, 6 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index fa3d583b94..99ed7617a5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Mon Apr 13 16:52:14 2015 Koichi Sasada <ko1@atdot.net>
+
+ * class.c (rb_prepend_module): need a WB for klass -> origin.
+
Mon Apr 13 16:48:14 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
* vm_eval.c (vm_call_super): search next super class from the
diff --git a/class.c b/class.c
index da58a6c3bf..ae190eec09 100644
--- a/class.c
+++ b/class.c
@@ -936,7 +936,7 @@ rb_prepend_module(VALUE klass, VALUE module)
OBJ_WB_UNPROTECT(origin); /* TODO: conservertive shading. Need more survery. */
RCLASS_SET_SUPER(origin, RCLASS_SUPER(klass));
RCLASS_SET_SUPER(klass, origin);
- RCLASS_ORIGIN(klass) = origin;
+ RB_OBJ_WRITE(klass, &RCLASS_ORIGIN(klass), origin);
RCLASS_M_TBL_WRAPPER(origin) = RCLASS_M_TBL_WRAPPER(klass);
RCLASS_M_TBL_INIT(klass);
st_foreach(RCLASS_M_TBL(origin), move_refined_method,
diff --git a/version.h b/version.h
index 1145958c75..8092f0d733 100644
--- a/version.h
+++ b/version.h
@@ -1,6 +1,6 @@
#define RUBY_VERSION "2.1.5"
#define RUBY_RELEASE_DATE "2015-04-13"
-#define RUBY_PATCHLEVEL 331
+#define RUBY_PATCHLEVEL 332
#define RUBY_RELEASE_YEAR 2015
#define RUBY_RELEASE_MONTH 4