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/