Author: Armin Rigo <[email protected]>
Branch: stm-thread-2
Changeset: r57793:ae67b1d5b010
Date: 2012-10-05 11:57 +0000
http://bitbucket.org/pypy/pypy/changeset/ae67b1d5b010/

Log:    Fix

diff --git a/pypy/translator/backendopt/graphanalyze.py 
b/pypy/translator/backendopt/graphanalyze.py
--- a/pypy/translator/backendopt/graphanalyze.py
+++ b/pypy/translator/backendopt/graphanalyze.py
@@ -71,17 +71,14 @@
 
     def analyze(self, op, seen=None, graphinfo=None):
         if op.opname == "direct_call":
-            graph = get_graph(op.args[0], self.translator)
+            try:
+                graph = get_graph(op.args[0], self.translator)
+            except lltype.DelayedPointer:
+                x = self.top_result()
+                if self.verbose:
+                    print '\tdelayed pointer %s: %r' % (op, x)
+                return x
             if graph is None:
-                try:   # detect calls to DelayedPointers
-                    op.args[0].value._obj
-                except AttributeError:
-                    pass    # ootype
-                except lltype.DelayedPointer:
-                    x = self.top_result()
-                    if self.verbose:
-                        print '\tdelayed pointer %s: %r' % (op, x)
-                    return x
                 x = self.analyze_external_call(op, seen)
                 if self.verbose and x:
                     print '\tanalyze_external_call %s: %r' % (op, x)
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to