summaryrefslogtreecommitdiff
path: root/class.c
diff options
context:
space:
mode:
authornagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-04-12 15:11:21 +0000
committernagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-04-12 15:11:21 +0000
commit91ad9122a51d795b1267191ec0e40a3e910dbe11 (patch)
tree9463b7ca6626724a07873e85047bd66982010df9 /class.c
parent98c244c122e21f5e4f73d42fcf8b8264012f9f3c (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_2@50274 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'class.c')
-rw-r--r--class.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/class.c b/class.c
index 8cd663ee01..65d0d30abd 100644
--- a/class.c
+++ b/class.c
@@ -932,7 +932,7 @@ rb_prepend_module(VALUE klass, VALUE module)
OBJ_WB_UNPROTECT(origin); /* TODO: conservative shading. Need more survey. */
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,