1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

update super even if there is no ext

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67583 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
tenderlove 2019-04-17 06:13:11 +00:00
parent e1eb54b99d
commit 7bd58a4e6d

4
gc.c
View file

@ -7819,26 +7819,26 @@ gc_update_object_references(rb_objspace_t *objspace, VALUE obj)
case T_CLASS:
case T_MODULE:
update_m_tbl(objspace, RCLASS_M_TBL(obj));
UPDATE_IF_MOVED(objspace, RCLASS(obj)->super);
if (!RCLASS_EXT(obj)) break;
if (RCLASS_IV_TBL(obj)) {
gc_update_table_refs(objspace, RCLASS_IV_TBL(obj));
}
update_class_ext(objspace, RCLASS_EXT(obj));
update_const_tbl(objspace, RCLASS_CONST_TBL(obj));
UPDATE_IF_MOVED(objspace, RCLASS(obj)->super);
break;
case T_ICLASS:
if (FL_TEST(obj, RICLASS_IS_ORIGIN)) {
update_m_tbl(objspace, RCLASS_M_TBL(obj));
}
UPDATE_IF_MOVED(objspace, RCLASS(obj)->super);
if (!RCLASS_EXT(obj)) break;
if (RCLASS_IV_TBL(obj)) {
gc_update_table_refs(objspace, RCLASS_IV_TBL(obj));
}
update_class_ext(objspace, RCLASS_EXT(obj));
update_m_tbl(objspace, RCLASS_CALLABLE_M_TBL(obj));
UPDATE_IF_MOVED(objspace, RCLASS(obj)->super);
break;
case T_IMEMO: