[pypy-commit] pypy concurrent-marksweep: Fix.

arigo noreply at buildbot.pypy.org
Fri Oct 7 17:36:21 CEST 2011


Author: Armin Rigo <arigo at tunes.org>
Branch: concurrent-marksweep
Changeset: r47863:8d18b3b7104d
Date: 2011-10-07 17:34 +0200
http://bitbucket.org/pypy/pypy/changeset/8d18b3b7104d/

Log:	Fix.

diff --git a/pypy/rpython/memory/gc/concurrentms.py b/pypy/rpython/memory/gc/concurrentms.py
--- a/pypy/rpython/memory/gc/concurrentms.py
+++ b/pypy/rpython/memory/gc/concurrentms.py
@@ -567,6 +567,7 @@
         linked_list = NULL
         first_block_in_linked_list = NULL
         while block != llmemory.NULL:
+            nextblock = block.address[0]
             hdr = block + size_of_addr
             if maybe_read_mark_byte(hdr) == nonmarked:
                 # the object is still not marked.  Free it.
@@ -578,6 +579,7 @@
                 linked_list = block
                 if first_block_in_linked_list == NULL:
                     first_block_in_linked_list = block
+            block = nextblock
         #
         self.collect_heads[0] = linked_list
         self.collect_tails[0] = first_block_in_linked_list


More information about the pypy-commit mailing list