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