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

ruby-changes:29498

From: ko1 <ko1@a...>
Date: Sat, 22 Jun 2013 06:08:50 +0900 (JST)
Subject: [ruby-changes:29498] ko1:r41550 (trunk): * gc.c (rb_gc_giveup_promoted_writebarrier): remove `rest_sweep()'

ko1	2013-06-22 06:08:38 +0900 (Sat, 22 Jun 2013)

  New Revision: 41550

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

  Log:
    * gc.c (rb_gc_giveup_promoted_writebarrier): remove `rest_sweep()'
      because all of remembered objects are called for gc_mark_children().

  Modified files:
    trunk/ChangeLog
    trunk/gc.c

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 41549)
+++ ChangeLog	(revision 41550)
@@ -1,3 +1,8 @@ https://github.com/ruby/ruby/blob/trunk/ChangeLog#L1
+Sat Jun 22 06:05:36 2013  Koichi Sasada  <ko1@a...>
+
+	* gc.c (rb_gc_giveup_promoted_writebarrier): remove `rest_sweep()'
+	  because all of remembered objects are called for gc_mark_children().
+
 Sat Jun 22 05:08:03 2013  Koichi Sasada  <ko1@a...>
 
 	* gc.c (rgengc_rememberset_mark): call gc_mark_children() for
Index: gc.c
===================================================================
--- gc.c	(revision 41549)
+++ gc.c	(revision 41550)
@@ -3806,13 +3806,6 @@ rb_gc_giveup_promoted_writebarrier(VALUE https://github.com/ruby/ruby/blob/trunk/gc.c#L3806
     rgengc_report(2, objspace, "rb_gc_giveup_writebarrier: %p (%s)%s\n", (void *)obj, obj_type_name(obj),
 		  rgengc_remembered(objspace, obj) ? " (already remembered)" : "");
 
-    /* need to sweep all slots before demote */
-    /* TODO: check delayed sweeping slot or not
-     *       if delayed sweepling slot, then mark it
-     *       else demote simple
-     */
-    rest_sweep(objspace);
-
     RVALUE_DEMOTE(obj);
     rgengc_remember(objspace, obj);
 

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

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