[pypy-svn] r27568 - pypy/dist/pypy/rpython/memory

mwh at codespeak.net mwh at codespeak.net
Mon May 22 01:53:47 CEST 2006


Author: mwh
Date: Mon May 22 01:53:44 2006
New Revision: 27568

Modified:
   pypy/dist/pypy/rpython/memory/gc.py
Log:
there's no real reason we can't replace a root


Modified: pypy/dist/pypy/rpython/memory/gc.py
==============================================================================
--- pypy/dist/pypy/rpython/memory/gc.py	(original)
+++ pypy/dist/pypy/rpython/memory/gc.py	Mon May 22 01:53:44 2006
@@ -545,9 +545,9 @@
             objects.append(pointer.address[0])
             # -------------------------------------------------
             # begin difference from collect
-            llop.debug_pdb(lltype.Void,
-                           pointer.address[0], target_addr,
-                           pointer.address[0] == target_addr)
+##             llop.debug_pdb(lltype.Void,
+##                            pointer.address[0], target_addr,
+##                            pointer.address[0] == target_addr)
             if pointer.address[0] == target_addr:
                 pointer.address[0] = source_addr
             # end difference from collect
@@ -600,12 +600,6 @@
             if curr == NULL:
                 break
             # roots is a list of addresses to addresses:
-            # -------------------------------------------------
-            # begin difference from collect
-            if curr.address[0] == target_addr:
-                raise RuntimeError("can't replace a root")
-            # end difference from collect
-            # -------------------------------------------------
             objects.append(curr.address[0])
             # the last sweep did not clear the mark bit of static roots, 
             # since they are not in the malloced_objects list



More information about the Pypy-commit mailing list