Author: Maciej Fijalkowski <[email protected]>
Branch: optresult-unroll
Changeset: r79293:93678a196e93
Date: 2015-08-30 12:12 +0200
http://bitbucket.org/pypy/pypy/changeset/93678a196e93/
Log: fix wrong optimization
diff --git a/rpython/jit/metainterp/optimizeopt/info.py
b/rpython/jit/metainterp/optimizeopt/info.py
--- a/rpython/jit/metainterp/optimizeopt/info.py
+++ b/rpython/jit/metainterp/optimizeopt/info.py
@@ -186,8 +186,7 @@
subbox = optforce.force_box(fld)
setfieldop = ResOperation(rop.SETFIELD_GC, [op, subbox],
descr=flddescr)
- if not flddescr.is_always_pure():
- self._fields[i] = None
+ self._fields[i] = None
optforce.emit_operation(setfieldop)
def _force_at_the_end_of_preamble(self, op, optforce, rec):
@@ -453,8 +452,7 @@
setop = ResOperation(rop.SETARRAYITEM_GC,
[op, ConstInt(i), subbox],
descr=arraydescr)
- if not self.arraydescr.is_always_pure():
- self._items[i] = None
+ self._items[i] = None
optforce.emit_operation(setop)
optforce.pure_from_args(rop.ARRAYLEN_GC, [op],
ConstInt(len(self._items)))
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit