[pypy-svn] r66046 - pypy/branch/pyjitpl5/pypy/interpreter

arigo at codespeak.net arigo at codespeak.net
Tue Jun 30 16:35:15 CEST 2009


Author: arigo
Date: Tue Jun 30 16:35:15 2009
New Revision: 66046

Added:
   pypy/branch/pyjitpl5/pypy/interpreter/pyframe.py.merge.tmp
      - copied, changed from r66039, pypy/branch/pyjitpl5/pypy/interpreter/pyframe.py
Log:
merging of svn+ssh://codespeak.net/svn/pypy/trunk/pypy/interpreter/pyframe.py
revisions 62865 to 66039:

    ------------------------------------------------------------------------
    r65525 | pedronis | 2009-06-01 08:22:12 +0200 (Mon, 01 Jun 2009) | 5 lines
    
    reverting 65522, it broke a couple tests in applevel and lib-python tests
    
    not completely clear why, in general our error code is not that well tested by our own tests
    
    
    ------------------------------------------------------------------------
    r65522 | benjamin | 2009-06-01 02:00:54 +0200 (Mon, 01 Jun 2009) | 1 line
    
    normalize raise statements
    ------------------------------------------------------------------------
    r64161 | arigo | 2009-04-16 15:15:42 +0200 (Thu, 16 Apr 2009) | 2 lines
    
    Don't eat the traceback, when running in py.py.
    
    ------------------------------------------------------------------------
    r64147 | arigo | 2009-04-16 12:24:15 +0200 (Thu, 16 Apr 2009) | 5 lines
    
    Ha ha ha.  Rewrite this yet another time
    so that the resume_point() is correct --
    previously, it did not list the w_exitvalue
    variable which *was* alive across it.
    
    ------------------------------------------------------------------------
    r64137 | arigo | 2009-04-16 10:51:00 +0200 (Thu, 16 Apr 2009) | 4 lines
    
    Rewrite these nested try:finally: so that the second one
    is not inside the finally: part of the first one.  Helps(?)
    stackless transform, at least.
    
    ------------------------------------------------------------------------
    r64105 | iko | 2009-04-15 17:59:21 +0200 (Wed, 15 Apr 2009) | 6 lines
    
    (iko, tismer)
    
    'return' trace event should happen even if the return is caused by
    raising an exception
    
    
    ------------------------------------------------------------------------


Copied: pypy/branch/pyjitpl5/pypy/interpreter/pyframe.py.merge.tmp (from r66039, pypy/branch/pyjitpl5/pypy/interpreter/pyframe.py)
==============================================================================
--- pypy/branch/pyjitpl5/pypy/interpreter/pyframe.py	(original)
+++ pypy/branch/pyjitpl5/pypy/interpreter/pyframe.py.merge.tmp	Tue Jun 30 16:35:15 2009
@@ -115,9 +115,14 @@
             # last_instr is -1.  After a generator suspends it points to
             # the YIELD_VALUE instruction.
             next_instr = self.last_instr + 1
-            w_exitvalue = self.dispatch(self.pycode, next_instr,
-                                        executioncontext)
-            rstack.resume_point("execute_frame", self, executioncontext, returns=w_exitvalue)
+            try:
+                w_exitvalue = self.dispatch(self.pycode, next_instr,
+                                            executioncontext)
+                rstack.resume_point("execute_frame", self, executioncontext,
+                                    returns=w_exitvalue)
+            except Exception:
+                executioncontext.return_trace(self, self.space.w_None)
+                raise
             executioncontext.return_trace(self, w_exitvalue)
             # on exit, we try to release self.last_exception -- breaks an
             # obvious reference cycle, so it helps refcounting implementations



More information about the Pypy-commit mailing list