Author: Armin Rigo <ar...@tunes.org> Branch: bitstring Changeset: r83910:176848faf166 Date: 2016-04-26 16:19 +0200 http://bitbucket.org/pypy/pypy/changeset/176848faf166/
Log: Fix: this goes outside the other loop 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 @@ -453,12 +453,13 @@ self.force_lazy_setarrayitem_submap(submap) if effectinfo.check_write_descr_array(arraydescr): self.force_lazy_setarrayitem_submap(submap, can_cache=False) - if arraydescr in self.corresponding_array_descrs: - dictdescr = self.corresponding_array_descrs.pop(arraydescr) - try: - del self.cached_dict_reads[dictdescr] - except KeyError: - pass # someone did it already + # + for arraydescr, dictdescr in self.corresponding_array_descrs.items(): + if effectinfo.check_write_descr_array(arraydescr): + try: + del self.cached_dict_reads[dictdescr] + except KeyError: + pass # someone did it already # if effectinfo.check_forces_virtual_or_virtualizable(): vrefinfo = self.optimizer.metainterp_sd.virtualref_info @@ -483,7 +484,7 @@ cf.force_lazy_set(self, None, can_cache) def force_lazy_setarrayitem_submap(self, submap, can_cache=True): - for idx, cf in submap.iteritems(): + for cf in submap.itervalues(): cf.force_lazy_set(self, None, can_cache) def force_all_lazy_sets(self): _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit