diff options
author | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-03-06 13:51:27 +0000 |
---|---|---|
committer | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-03-06 13:51:27 +0000 |
commit | 9113098e654b6601a86f60a91f7b2b61de1d3a3f (patch) | |
tree | 3e43ee9bfdd80725ae1153fce9b4fcc95786594b | |
parent | d84f9b16946bca06ce0557ebe99152d7d445c9ec (diff) | |
download | ruby-9113098e654b6601a86f60a91f7b2b61de1d3a3f.tar.gz |
* 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
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | class.c | 2 |
2 files changed, 5 insertions, 1 deletions
@@ -1,3 +1,7 @@ +Fri Mar 6 22:50:36 2015 Koichi Sasada <ko1@atdot.net> + + * class.c (rb_prepend_module): need a WB for klass -> origin. + Fri Mar 6 20:18:38 2015 Koichi Sasada <ko1@atdot.net> * fix namespace issue on singleton class expressions. [Bug #10943] @@ -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, |