[pypy-svn] r49829 - pypy/branch/gc-prefetch/pypy/rpython/memory/gc

arigo at codespeak.net arigo at codespeak.net
Sun Dec 16 12:33:05 CET 2007


Author: arigo
Date: Sun Dec 16 12:33:05 2007
New Revision: 49829

Modified:
   pypy/branch/gc-prefetch/pypy/rpython/memory/gc/prefetchsemispace.py
Log:
Bug fix.


Modified: pypy/branch/gc-prefetch/pypy/rpython/memory/gc/prefetchsemispace.py
==============================================================================
--- pypy/branch/gc-prefetch/pypy/rpython/memory/gc/prefetchsemispace.py	(original)
+++ pypy/branch/gc-prefetch/pypy/rpython/memory/gc/prefetchsemispace.py	Sun Dec 16 12:33:05 2007
@@ -64,12 +64,13 @@
             # fashion, so that we know that the queue is completely
             # empty as soon as we get a NULL)
             i = self.prefetch_queue_next
+            i = (i - 1) & self.prefetch_queue_mask
+            self.prefetch_queue_next = i
             pointer = self.prefetch_queue[i]
             if pointer == NULL:
                 break      # empty queue => done
             self.prefetch_queue[i] = NULL
             pointer.address[0] = self.copy(pointer.address[0])
-            self.prefetch_queue_next = (i - 1) & self.prefetch_queue_mask
         return scan
 
     def trace_and_copy_lazy(self, obj):



More information about the Pypy-commit mailing list