Author: Armin Rigo <[email protected]>
Branch: stm
Changeset: r48792:c456e6bccc2a
Date: 2011-11-05 17:24 +0100
http://bitbucket.org/pypy/pypy/changeset/c456e6bccc2a/

Log:    Hack. It may stay around if no solution to the problem is found,
        but of course only if stm is enabled.

diff --git a/pypy/rpython/memory/gctransform/transform.py 
b/pypy/rpython/memory/gctransform/transform.py
--- a/pypy/rpython/memory/gctransform/transform.py
+++ b/pypy/rpython/memory/gctransform/transform.py
@@ -628,7 +628,11 @@
             assert False, "%s has no support for free with flavor %r" % (self, 
flavor)           
 
     def gct_gc_can_move(self, hop):
-        return hop.cast_result(rmodel.inputconst(lltype.Bool, False))
+        #return hop.cast_result(rmodel.inputconst(lltype.Bool, False))
+        # XXX hack: in case of STM, we cannot pass a pointer inside a
+        # GcStruct or GcArray to the C world, because some of the
+        # content may still live in the STM buffers
+        return hop.cast_result(rmodel.inputconst(lltype.Bool, True))
 
     def gct_shrink_array(self, hop):
         return hop.cast_result(rmodel.inputconst(lltype.Bool, False))
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to