[前][次][番号順一覧][スレッド一覧]

ruby-changes:55375

From: tenderlove <ko1@a...>
Date: Wed, 17 Apr 2019 15:13:15 +0900 (JST)
Subject: [ruby-changes:55375] tenderlove:r67583 (trunk): update super even if there is no ext

tenderlove	2019-04-17 15:13:11 +0900 (Wed, 17 Apr 2019)

  New Revision: 67583

  https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=67583

  Log:
    update super even if there is no ext

  Modified files:
    trunk/gc.c
Index: gc.c
===================================================================
--- gc.c	(revision 67582)
+++ gc.c	(revision 67583)
@@ -7819,26 +7819,26 @@ gc_update_object_references(rb_objspace_ https://github.com/ruby/ruby/blob/trunk/gc.c#L7819
         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:

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]