Author: Remi Meier <[email protected]>
Branch: stmgc-c4
Changeset: r68199:4fb6c8277d6c
Date: 2013-11-18 09:28 +0100
http://bitbucket.org/pypy/pypy/changeset/4fb6c8277d6c/

Log:    after a transaction break, we need to check for invalidation again

diff --git a/rpython/jit/metainterp/optimizeopt/heap.py 
b/rpython/jit/metainterp/optimizeopt/heap.py
--- a/rpython/jit/metainterp/optimizeopt/heap.py
+++ b/rpython/jit/metainterp/optimizeopt/heap.py
@@ -262,12 +262,14 @@
             opnum == rop.COPYSTRCONTENT or       # no effect on GC struct/array
             opnum == rop.COPYUNICODECONTENT):    # no effect on GC struct/array
             return
+        if (opnum == rop.STM_TRANSACTION_BREAK or
+            opnum == rop.CALL_ASSEMBLER):
+            self._seen_guard_not_invalidated = False
         if (opnum == rop.CALL or
             opnum == rop.CALL_PURE or
             opnum == rop.COND_CALL or
             opnum == rop.CALL_MAY_FORCE or
-            opnum == rop.CALL_RELEASE_GIL or
-            opnum == rop.CALL_ASSEMBLER):
+            opnum == rop.CALL_RELEASE_GIL):
             if opnum == rop.CALL_ASSEMBLER:
                 self._seen_guard_not_invalidated = False
             else:
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to