[pypy-commit] pypy default: fix

fijal noreply at buildbot.pypy.org
Wed Oct 16 14:09:34 CEST 2013


Author: Maciej Fijalkowski <fijall at gmail.com>
Branch: 
Changeset: r67417:bc13dac86489
Date: 2013-10-16 14:08 +0200
http://bitbucket.org/pypy/pypy/changeset/bc13dac86489/

Log:	fix

diff --git a/rpython/memory/gc/incminimark.py b/rpython/memory/gc/incminimark.py
--- a/rpython/memory/gc/incminimark.py
+++ b/rpython/memory/gc/incminimark.py
@@ -1597,6 +1597,9 @@
             if (bool(self.young_rawmalloced_objects)
                 and self.young_rawmalloced_objects.contains(obj)):
                 self._visit_young_rawmalloced_object(obj)
+            if self.gc_state == STATE_MARKING:
+                if not self.header(obj).tid & GCFLAG_VISITED:
+                    self.objects_to_trace.append(obj)
             return
         #
         size_gc_header = self.gcheaderbuilder.size_gc_header
diff --git a/rpython/memory/gc/test/test_direct.py b/rpython/memory/gc/test/test_direct.py
--- a/rpython/memory/gc/test/test_direct.py
+++ b/rpython/memory/gc/test/test_direct.py
@@ -652,12 +652,13 @@
         self.stackroots.append(obj0)
         obj0.next = self.malloc(S)
         self.gc.debug_gc_step_until(incminimark.STATE_MARKING)
+        obj0 = self.stackroots[-1]
         obj1 = obj0.next
         obj1.x = 13
         obj0.next = lltype.nullptr(S)
         self.stackroots.append(obj1)
         self.gc.debug_gc_step_until(incminimark.STATE_SCANNING)
-        assert self.stackroots[0].x == 13
+        assert self.stackroots[1].x == 13
 
 class TestIncrementalMiniMarkGCFull(DirectGCTest):
     from rpython.memory.gc.incminimark import IncrementalMiniMarkGC as GCClass


More information about the pypy-commit mailing list