[pypy-svn] r64550 - pypy/branch/pyjitpl5-simplify/pypy/jit/metainterp

arigo at codespeak.net arigo at codespeak.net
Tue Apr 21 19:58:33 CEST 2009


Author: arigo
Date: Tue Apr 21 19:58:32 2009
New Revision: 64550

Modified:
   pypy/branch/pyjitpl5-simplify/pypy/jit/metainterp/codewriter.py
Log:
If we need to look into the delayed ptr that is
the portal, then it's certainly going to raise...


Modified: pypy/branch/pyjitpl5-simplify/pypy/jit/metainterp/codewriter.py
==============================================================================
--- pypy/branch/pyjitpl5-simplify/pypy/jit/metainterp/codewriter.py	(original)
+++ pypy/branch/pyjitpl5-simplify/pypy/jit/metainterp/codewriter.py	Tue Apr 21 19:58:32 2009
@@ -830,7 +830,12 @@
         calldescr, non_void_args = self.codewriter.getcalldescr(op.args[0],
                                                                 args,
                                                                 op.result)
-        if self.raise_analyzer.can_raise(op):
+        try:
+            canraise = self.raise_analyzer.can_raise(op)
+        except lltype.DelayedPointer:
+            canraise = True  # if we need to look into the delayed ptr that is
+                             # the portal, then it's certainly going to raise
+        if canraise:
             self.emit('residual_call')
         else:
             self.emit('residual_call_noexception')



More information about the Pypy-commit mailing list