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

ruby-changes:22640

From: nari <ko1@a...>
Date: Sun, 19 Feb 2012 12:08:10 +0900 (JST)
Subject: [ruby-changes:22640] nari:r34689 (trunk): * gc.c (gc_clear_mark_on_sweep_slots): uses slot_sweep() for

nari	2012-02-19 12:07:59 +0900 (Sun, 19 Feb 2012)

  New Revision: 34689

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

  Log:
    * gc.c (gc_clear_mark_on_sweep_slots): uses slot_sweep() for
      unsweeped slots, because some dead objects might be marked in
      next the mark phase by false pointers.  [ruby-core:42672]

  Modified files:
    trunk/ChangeLog
    trunk/gc.c

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 34688)
+++ ChangeLog	(revision 34689)
@@ -1,3 +1,9 @@
+Sun Feb 19 11:53:35 2012  Narihiro Nakamura  <authornari@g...>
+
+	* gc.c (gc_clear_mark_on_sweep_slots): uses slot_sweep() for
+	  unsweeped slots, because some dead objects might be marked in
+	  next the mark phase by false pointers.  [ruby-core:42672]
+
 Sun Feb 19 03:00:30 2012  Tanaka Akira  <akr@f...>
 
 	* test/dbm/test_dbm.rb (test_dbmfile_suffix): check magic numbers.
Index: gc.c
===================================================================
--- gc.c	(revision 34688)
+++ gc.c	(revision 34689)
@@ -2627,8 +2627,7 @@
     if (objspace->heap.sweep_slots) {
         while (heaps_increment(objspace));
         while (objspace->heap.sweep_slots) {
-            scan = objspace->heap.sweep_slots;
-            gc_clear_slot_bits(scan);
+            slot_sweep(objspace, objspace->heap.sweep_slots);
             objspace->heap.sweep_slots = objspace->heap.sweep_slots->next;
         }
     }

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

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