[pypy-svn] r64989 - pypy/branch/pyjitpl5/pypy/jit/backend/llgraph

fijal at codespeak.net fijal at codespeak.net
Sun May 3 00:22:04 CEST 2009


Author: fijal
Date: Sun May  3 00:22:03 2009
New Revision: 64989

Modified:
   pypy/branch/pyjitpl5/pypy/jit/backend/llgraph/llimpl.py
Log:
support exception in this case as well


Modified: pypy/branch/pyjitpl5/pypy/jit/backend/llgraph/llimpl.py
==============================================================================
--- pypy/branch/pyjitpl5/pypy/jit/backend/llgraph/llimpl.py	(original)
+++ pypy/branch/pyjitpl5/pypy/jit/backend/llgraph/llimpl.py	Sun May  3 00:22:03 2009
@@ -471,9 +471,9 @@
                 else:
                     resdata = '-> ' + repr1(res, restype, self.memocast)
                 # fish the types
-                log.cpu('\t%s %s %s' % (opname, repr_list(values, argtypes,
-                                                          self.memocast),
-                                        resdata))
+                #log.cpu('\t%s %s %s' % (opname, repr_list(values, argtypes,
+                #                                          self.memocast),
+                #                        resdata))
         return res
 
     def as_int(self, x):
@@ -1071,15 +1071,15 @@
     args = cast_call_args(ARGS, _call_args, memocast)
     del _call_args[:]
     assert len(ARGS) == len(args)
-    if hasattr(ptr._obj, 'graph'):
-        llinterp = _llinterp      # it's a global set here by CPU.__init__()
-        try:
+    try:
+        if hasattr(ptr._obj, 'graph'):
+            llinterp = _llinterp      # it's a global set here by CPU.__init__()
             result = llinterp.eval_graph(ptr._obj.graph, args)
-        except LLException, e:
-            _last_exception = e
-            result = err_result
-    else:
-        result = ptr._obj._callable(*args)  # no exception support in this case
+        else:
+            result = ptr._obj._callable(*args)
+    except LLException, e:
+        _last_exception = e
+        result = err_result
     return result
 
 def do_call_void(f, memocast):



More information about the Pypy-commit mailing list