[pypy-commit] pypy optresult-unroll: safe against situation where no item was ever read or written

fijal noreply at buildbot.pypy.org
Tue Sep 1 23:16:14 CEST 2015


Author: Maciej Fijalkowski <fijall at gmail.com>
Branch: optresult-unroll
Changeset: r79367:a4b4f897457f
Date: 2015-09-01 23:15 +0200
http://bitbucket.org/pypy/pypy/changeset/a4b4f897457f/

Log:	safe against situation where no item was ever read or written

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
@@ -220,6 +220,8 @@
 
     def produce_short_preamble_ops(self, structbox, descr, index, optimizer,
                                    shortboxes):
+        if self._fields is None:
+            return
         op = optimizer.get_box_replacement(self._fields[descr.get_index()])
         opnum = OpHelpers.getfield_for_descr(descr)
         getfield_op = ResOperation(opnum, [structbox], descr=descr)
@@ -492,6 +494,8 @@
 
     def produce_short_preamble_ops(self, structbox, descr, index, optimizer,
                                    shortboxes):
+        if self._items is None:
+            return
         item = self._items[index]
         if item is not None:
             op = optimizer.get_box_replacement(item)


More information about the pypy-commit mailing list