diff options
author | tenderlove <tenderlove@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2019-04-17 06:13:11 +0000 |
---|---|---|
committer | tenderlove <tenderlove@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2019-04-17 06:13:11 +0000 |
commit | 7bd58a4e6d214b78645f0a15dcc691d3faaa1acf (patch) | |
tree | 3663485cc5aeceb71be28bad45c009ec3ca5dfee | |
parent | e1eb54b99d592c460fea4b0f897f5e8e61c96c07 (diff) | |
download | ruby-7bd58a4e6d214b78645f0a15dcc691d3faaa1acf.tar.gz |
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
-rw-r--r-- | gc.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -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: |