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/