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