From 9113098e654b6601a86f60a91f7b2b61de1d3a3f Mon Sep 17 00:00:00 2001 From: ko1 Date: Fri, 6 Mar 2015 13:51:27 +0000 Subject: * class.c (rb_prepend_module): need a WB for klass -> origin. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49875 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 4 ++++ class.c | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index cfcf7a7a00..16d8f35a0e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Fri Mar 6 22:50:36 2015 Koichi Sasada + + * class.c (rb_prepend_module): need a WB for klass -> origin. + Fri Mar 6 20:18:38 2015 Koichi Sasada * fix namespace issue on singleton class expressions. [Bug #10943] diff --git a/class.c b/class.c index 42c27b5f32..73e7003d6a 100644 --- a/class.c +++ b/class.c @@ -939,7 +939,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(origin) = RCLASS_M_TBL(klass); RCLASS_M_TBL_INIT(klass); st_foreach(RCLASS_M_TBL(origin), move_refined_method, -- cgit v1.2.3