[pypy-svn] r67681 - pypy/trunk/pypy/interpreter/test

cfbolz at codespeak.net cfbolz at codespeak.net
Mon Sep 14 16:50:29 CEST 2009


Author: cfbolz
Date: Mon Sep 14 16:50:28 2009
New Revision: 67681

Added:
   pypy/trunk/pypy/interpreter/test/test_zzpickle_and_slow.py.merge.tmp
      - copied, changed from r67674, pypy/trunk/pypy/interpreter/test/test_zzpickle_and_slow.py
Log:
merging of svn+ssh://codespeak.net/svn/pypy/branch/spine-of-frames/pypy/interpreter/test/test_zzpickle_and_slow.py
revisions 67428 to 67674:

    ------------------------------------------------------------------------
    r67624 | cfbolz | 2009-09-10 16:45:13 +0200 (Thu, 10 Sep 2009) | 2 lines
    
    merge in changes from revisions r67429 through r67623 of trunk.
    
    ------------------------------------------------------------------------
    r67433 | cfbolz | 2009-09-02 17:53:35 +0200 (Wed, 02 Sep 2009) | 2 lines
    
    try to have frames not escape via the f_backs of the next "real" frame.
    
    ------------------------------------------------------------------------
    r67429 | cfbolz | 2009-09-02 15:32:28 +0200 (Wed, 02 Sep 2009) | 2 lines
    
    a branch where to try to link frames together differently
    
    ------------------------------------------------------------------------


Copied: pypy/trunk/pypy/interpreter/test/test_zzpickle_and_slow.py.merge.tmp (from r67674, pypy/trunk/pypy/interpreter/test/test_zzpickle_and_slow.py)
==============================================================================
--- pypy/trunk/pypy/interpreter/test/test_zzpickle_and_slow.py	(original)
+++ pypy/trunk/pypy/interpreter/test/test_zzpickle_and_slow.py.merge.tmp	Mon Sep 14 16:50:28 2009
@@ -30,18 +30,23 @@
     from pypy.interpreter import pytraceback
     def hide_top_frame(space, w_frame):
         w_last = None
-        while w_frame.f_back:
+        while w_frame.f_back():
+            # should have been forced by traceback capturing
+            assert w_frame.f_back_forced
             w_last = w_frame
-            w_frame = w_frame.f_back
+            w_frame = w_frame.f_back()
         assert w_last
-        w_saved = w_last.f_back
-        w_last.f_back = None
+        w_saved = w_last.f_back()
+        w_last.f_back_some = None
+        w_saved.f_forward = None
         return w_saved
 
     def restore_top_frame(space, w_frame, w_saved):
-        while w_frame.f_back:
-            w_frame = w_frame.f_back
-        w_frame.f_back = w_saved
+        while w_frame.f_back():
+            assert w_frame.f_back_forced
+            w_frame = w_frame.f_back()
+        w_frame.f_back_some = w_saved
+        w_saved.f_forward = w_frame
 
     def read_exc_type(space, w_frame):
         if w_frame.last_exception is None:



More information about the Pypy-commit mailing list