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

ruby-changes:25031

From: nari <ko1@a...>
Date: Thu, 4 Oct 2012 17:34:30 +0900 (JST)
Subject: [ruby-changes:25031] nari:r37083 (trunk): * gc.c (rb_objspace_call_finalizer): call gc_mark_stacked_objects

nari	2012-10-04 17:34:20 +0900 (Thu, 04 Oct 2012)

  New Revision: 37083

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=37083

  Log:
    * gc.c (rb_objspace_call_finalizer): call gc_mark_stacked_objects
      at suitable point.

  Modified files:
    trunk/ChangeLog
    trunk/gc.c

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 37082)
+++ ChangeLog	(revision 37083)
@@ -1,3 +1,8 @@
+Thu Oct  4 17:24:51 2012  Narihiro Nakamura  <authornari@g...>
+
+	* gc.c (rb_objspace_call_finalizer): call gc_mark_stacked_objects
+	  at suitable point.
+
 Thu Oct  4 16:31:29 2012  Nobuyoshi Nakada  <nobu@r...>
 
 	* gc.c (rb_objspace_call_finalizer): mark self-referencing finalizers
Index: gc.c
===================================================================
--- gc.c	(revision 37082)
+++ gc.c	(revision 37083)
@@ -1484,9 +1484,6 @@
     RVALUE *final_list = 0;
     size_t i;
 
-    mark_tbl(objspace, finalizer_table);
-    gc_mark_stacked_objects(objspace);
-
     /* run finalizers */
     rest_sweep(objspace);
 
@@ -1497,6 +1494,7 @@
 	/* because mark will not be removed */
 	finalize_deferred(objspace);
 	mark_tbl(objspace, finalizer_table);
+	gc_mark_stacked_objects(objspace);
 	st_foreach(finalizer_table, chain_finalized_object,
 		   (st_data_t)&deferred_final_list);
     } while (deferred_final_list);

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

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