Author: fijal
Branch: memory-accounting
Changeset: r92569:4038d01ba9e9
Date: 2017-10-03 13:59 +0200
http://bitbucket.org/pypy/pypy/changeset/4038d01ba9e9/

Log:    fix the problem of lazy setfield

diff --git a/rpython/translator/backendopt/writeanalyze.py 
b/rpython/translator/backendopt/writeanalyze.py
--- a/rpython/translator/backendopt/writeanalyze.py
+++ b/rpython/translator/backendopt/writeanalyze.py
@@ -65,6 +65,11 @@
         elif op.opname == "gc_store_indexed":
             if graphinfo is None or not graphinfo.is_fresh_malloc(op.args[0]):
                 return self._gc_store_indexed_result(op)
+        elif op.opname == 'gc_add_memory_pressure':
+            # special_memory_pressure would be overwritten by zero, because
+            # the JIT cannot see the field write, which is why we assume
+            # it can write anything
+            return top_set
         return empty_set
 
     def _array_result(self, TYPE):
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to