[pypy-commit] pypy virtual-raw-store-load: cleanup

bdkearns noreply at buildbot.pypy.org
Sun Mar 16 22:40:26 CET 2014


Author: Brian Kearns <bdkearns at gmail.com>
Branch: virtual-raw-store-load
Changeset: r69984:37d2c78f5076
Date: 2014-03-16 14:39 -0700
http://bitbucket.org/pypy/pypy/changeset/37d2c78f5076/

Log:	cleanup

diff --git a/rpython/jit/metainterp/optimizeopt/virtualize.py b/rpython/jit/metainterp/optimizeopt/virtualize.py
--- a/rpython/jit/metainterp/optimizeopt/virtualize.py
+++ b/rpython/jit/metainterp/optimizeopt/virtualize.py
@@ -779,11 +779,12 @@
                 offset, itemsize, descr = self._unpack_arrayitem_raw_op(op, indexbox)
                 try:
                     itemvalue = value.getitem_raw(offset, itemsize, descr)
-                    self.make_equal_to(op.result, itemvalue)
                 except InvalidRawOperation:
                     box = value.force_box(self)
                     op.setarg(0, box)
                     self.emit_operation(op)
+                else:
+                    self.make_equal_to(op.result, itemvalue)
                 return
         value.ensure_nonnull()
         self.emit_operation(op)
@@ -820,11 +821,12 @@
                 offset, itemsize, descr = self._unpack_raw_load_store_op(op, offsetbox)
                 try:
                     itemvalue = value.getitem_raw(offset, itemsize, descr)
-                    self.make_equal_to(op.result, itemvalue)
                 except InvalidRawOperation:
                     box = value.force_box(self)
                     op.setarg(0, box)
                     self.emit_operation(op)
+                else:
+                    self.make_equal_to(op.result, itemvalue)
                 return
         value.ensure_nonnull()
         self.emit_operation(op)


More information about the pypy-commit mailing list