Author: Carl Friedrich Bolz <[email protected]>
Branch: guard-compatible
Changeset: r83036:6ae43da2bb1b
Date: 2016-03-14 12:52 +0100
http://bitbucket.org/pypy/pypy/changeset/6ae43da2bb1b/

Log:    the ptrinfo might not exist at all

diff --git a/rpython/jit/metainterp/optimizeopt/pure.py 
b/rpython/jit/metainterp/optimizeopt/pure.py
--- a/rpython/jit/metainterp/optimizeopt/pure.py
+++ b/rpython/jit/metainterp/optimizeopt/pure.py
@@ -138,17 +138,18 @@
             arg1 = self.get_box_replacement(op.getarg(1))
             if arg1.type == 'r':
                 info = self.getptrinfo(arg1)
-                ccond = info._compatibility_conditions
-                if info and ccond:
-                    # it's subject to guard_compatible
-                    copied_op = op.copy()
-                    copied_op.setarg(1, ccond.known_valid)
-                    result = self._can_optimize_call_pure(copied_op)
-                    if result is not None:
-                        self.make_constant(op, result)
-                        self.last_emitted_operation = REMOVED
-                        ccond.record_pure_call(copied_op, result)
-                        return
+                if info:
+                    ccond = info._compatibility_conditions
+                    if ccond:
+                        # it's subject to guard_compatible
+                        copied_op = op.copy()
+                        copied_op.setarg(1, ccond.known_valid)
+                        result = self._can_optimize_call_pure(copied_op)
+                        if result is not None:
+                            self.make_constant(op, result)
+                            self.last_emitted_operation = REMOVED
+                            ccond.record_pure_call(copied_op, result)
+                            return
 
         # Step 1: check if all arguments are constant
         for arg in op.getarglist():
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to