[pypy-commit] pypy optresult: allow None in failargs;

fijal noreply at buildbot.pypy.org
Tue Jun 2 10:50:22 CEST 2015


Author: Maciej Fijalkowski <fijall at gmail.com>
Branch: optresult
Changeset: r77754:d86ae392be1c
Date: 2015-06-02 10:50 +0200
http://bitbucket.org/pypy/pypy/changeset/d86ae392be1c/

Log:	allow None in failargs;

diff --git a/rpython/jit/backend/llsupport/rewrite.py b/rpython/jit/backend/llsupport/rewrite.py
--- a/rpython/jit/backend/llsupport/rewrite.py
+++ b/rpython/jit/backend/llsupport/rewrite.py
@@ -78,7 +78,9 @@
             self._delayed_zero_setfields[op] = d
         return d
 
-    def get_box_replacement(self, op):
+    def get_box_replacement(self, op, allow_none=False):
+        if allow_none and op is None:
+            return None # for failargs
         while op.get_forwarded():
             op = op.get_forwarded()
         return op
@@ -101,7 +103,7 @@
             if not replaced:
                 op = op.copy_and_change(op.getopnum())
                 orig_op.set_forwarded(op)
-            op.setfailargs([self.get_box_replacement(a)
+            op.setfailargs([self.get_box_replacement(a, True)
                             for a in op.getfailargs()])
         self._newops.append(op)
 


More information about the pypy-commit mailing list