[pypy-svn] r65454 - in pypy/branch/tagged-pointers-framework/pypy: rpython/memory/gctransform translator/c/gcc/test
cfbolz at codespeak.net
cfbolz at codespeak.net
Wed May 27 15:04:33 CEST 2009
Author: cfbolz
Date: Wed May 27 15:04:33 2009
New Revision: 65454
Modified:
pypy/branch/tagged-pointers-framework/pypy/rpython/memory/gctransform/asmgcroot.py
pypy/branch/tagged-pointers-framework/pypy/translator/c/gcc/test/test_asmgcroot.py
Log:
Fix asmgcroot stack walker in conjunction with tagged pointers.
Modified: pypy/branch/tagged-pointers-framework/pypy/rpython/memory/gctransform/asmgcroot.py
==============================================================================
--- pypy/branch/tagged-pointers-framework/pypy/rpython/memory/gctransform/asmgcroot.py (original)
+++ pypy/branch/tagged-pointers-framework/pypy/rpython/memory/gctransform/asmgcroot.py Wed May 27 15:04:33 2009
@@ -154,7 +154,7 @@
if location == 0:
break
addr = self.getlocation(callee, location)
- if addr.address[0] != llmemory.NULL:
+ if gc.points_to_valid_gc_object(addr):
collect_stack_root(gc, addr)
#
# track where the caller_frame saved the registers from its own
Modified: pypy/branch/tagged-pointers-framework/pypy/translator/c/gcc/test/test_asmgcroot.py
==============================================================================
--- pypy/branch/tagged-pointers-framework/pypy/translator/c/gcc/test/test_asmgcroot.py (original)
+++ pypy/branch/tagged-pointers-framework/pypy/translator/c/gcc/test/test_asmgcroot.py Wed May 27 15:04:33 2009
@@ -14,7 +14,7 @@
# instructions:
should_be_moving = False
- def getcompiled(self, func):
+ def getcompiled(self, func, **extraargs):
def main(argv):
try:
res = func()
@@ -30,6 +30,7 @@
config = get_pypy_config(translating=True)
config.translation.gc = self.gcpolicy
config.translation.gcrootfinder = "asmgcc"
+ config.set(**extraargs)
t = TranslationContext(config=config)
self.t = t
a = t.buildannotator()
More information about the Pypy-commit
mailing list