[pypy-svn] r67760 - pypy/trunk/pypy/jit/metainterp/test

arigo at codespeak.net arigo at codespeak.net
Fri Sep 18 14:32:23 CEST 2009


Author: arigo
Date: Fri Sep 18 14:32:22 2009
New Revision: 67760

Added:
   pypy/trunk/pypy/jit/metainterp/test/test_send.py.merge.tmp
      - copied, changed from r67757, pypy/trunk/pypy/jit/metainterp/test/test_send.py
Log:
merging of svn+ssh://codespeak.net/svn/pypy/branch/optimize-novaluedep/pypy/jit/metainterp/test/test_send.py
revisions 67718 to 67757:

    ------------------------------------------------------------------------
    r67744 | arigo | 2009-09-17 19:57:27 +0200 (Thu, 17 Sep 2009) | 4 lines
    
    (cfbolz, arigo)
    Catch the InvalidLoop exception.  For now, forces unrolling,
    which makes again the two long-skipped tests of test_send pass :-)
    
    ------------------------------------------------------------------------
    r67719 | arigo | 2009-09-16 17:27:03 +0200 (Wed, 16 Sep 2009) | 3 lines
    
    A branch in which to refactor jit/metainterp/optimize*.py to
    no longer query the value of the boxes it handles.
    
    ------------------------------------------------------------------------


Copied: pypy/trunk/pypy/jit/metainterp/test/test_send.py.merge.tmp (from r67757, pypy/trunk/pypy/jit/metainterp/test/test_send.py)
==============================================================================
--- pypy/trunk/pypy/jit/metainterp/test/test_send.py	(original)
+++ pypy/trunk/pypy/jit/metainterp/test/test_send.py.merge.tmp	Fri Sep 18 14:32:22 2009
@@ -168,7 +168,6 @@
             self.check_loop_count(3)
 
     def test_oosend_guard_failure(self):
-        py.test.skip("Unsupported yet")
         myjitdriver = JitDriver(greens = [], reds = ['x', 'y', 'w'])
         class Base:
             pass
@@ -201,16 +200,16 @@
         assert res == f(3, 28)
         res = self.meta_interp(f, [4, 28])
         assert res == f(4, 28)
-        # The effect of the ClassGuard generated by the oosend to incr()
-        # should be to unroll the loop, giving two copies of the body in
-        # a single bigger loop with no failing guard except the final one.
+        # This checks that the loop was originally aborted due to an
+        # InvalidLoop condition, and was then unrolled, giving two copies
+        # of the body in a single bigger loop with no failing guard except
+        # the final one.
         self.check_loop_count(1)
         self.check_loops(guard_class=0,
                                 int_add=2, int_sub=2)
         self.check_jumps(14)
 
     def test_oosend_guard_failure_2(self):
-        py.test.skip("Unsupported yet")
         # same as above, but using prebuilt objects 'w1' and 'w2'
         myjitdriver = JitDriver(greens = [], reds = ['x', 'y', 'w'])
         class Base:
@@ -237,6 +236,7 @@
             else:
                 w = w2
             while y > 0:
+                myjitdriver.can_enter_jit(x=x, y=y, w=w)
                 myjitdriver.jit_merge_point(x=x, y=y, w=w)
                 w = w.incr()
                 y -= 1



More information about the Pypy-commit mailing list