Author: David Schneider <[email protected]>
Branch: arm-backend-2
Changeset: r48408:45d7621d2e2a
Date: 2011-10-04 14:34 +0200
http://bitbucket.org/pypy/pypy/changeset/45d7621d2e2a/

Log:    extend call_assembler tests to check the fail_descr_number and
        ensure it is non-zero in the tests

diff --git a/pypy/jit/backend/test/runner_test.py 
b/pypy/jit/backend/test/runner_test.py
--- a/pypy/jit/backend/test/runner_test.py
+++ b/pypy/jit/backend/test/runner_test.py
@@ -2376,6 +2376,9 @@
             assembler_helper_adr = llmemory.cast_ptr_to_adr(
                 _assembler_helper_ptr)
 
+        # ensure the fail_descr_number is not zero
+        for _ in range(10):
+            self.cpu.reserve_some_free_fail_descr_number()
         ops = '''
         [i0, i1, i2, i3, i4, i5, i6, i7, i8, i9]
         i10 = int_add(i0, i1)
@@ -2416,7 +2419,7 @@
             self.cpu.set_future_value_int(i, i+1)
         res = self.cpu.execute_token(othertoken)
         assert self.cpu.get_latest_value_int(0) == 13
-        assert called
+        assert called == [done_number]
 
         # test the fast path, which should not call assembler_helper()
         del called[:]
@@ -2455,7 +2458,8 @@
         FakeJitDriverSD.portal_calldescr = self.cpu.calldescrof(
             lltype.Ptr(lltype.FuncType(ARGS, RES)), ARGS, RES,
             EffectInfo.MOST_GENERAL)
-        
+        for _ in range(10):
+            self.cpu.reserve_some_free_fail_descr_number()
         ops = '''
         [f0, f1]
         f2 = float_add(f0, f1)
@@ -2484,7 +2488,7 @@
         res = self.cpu.execute_token(othertoken)
         x = self.cpu.get_latest_value_float(0)
         assert longlong.getrealfloat(x) == 13.5
-        assert called
+        assert called == [done_number]
 
         # test the fast path, which should not call assembler_helper()
         del called[:]
@@ -2548,7 +2552,8 @@
         FakeJitDriverSD.portal_calldescr = self.cpu.calldescrof(
             lltype.Ptr(lltype.FuncType(ARGS, RES)), ARGS, RES,
             EffectInfo.MOST_GENERAL)
-        
+        for _ in range(10):
+            self.cpu.reserve_some_free_fail_descr_number()
         ops = '''
         [f0, f1]
         f2 = float_add(f0, f1)
@@ -2557,6 +2562,7 @@
         looptoken = LoopToken()
         looptoken.outermost_jitdriver_sd = FakeJitDriverSD()
         self.cpu.compile_loop(loop.inputargs, loop.operations, looptoken)
+        done_number = 
self.cpu.get_fail_descr_number(loop.operations[-1].getdescr())
         self.cpu.set_future_value_float(0, longlong.getfloatstorage(1.25))
         self.cpu.set_future_value_float(1, longlong.getfloatstorage(2.35))
         res = self.cpu.execute_token(looptoken)
@@ -2580,7 +2586,7 @@
         res = self.cpu.execute_token(othertoken)
         x = self.cpu.get_latest_value_float(0)
         assert longlong.getrealfloat(x) == 13.5
-        assert called
+        assert called == [done_number]
         del called[:]
 
         # compile a replacement
@@ -2592,6 +2598,7 @@
         looptoken2 = LoopToken()
         looptoken2.outermost_jitdriver_sd = FakeJitDriverSD()
         self.cpu.compile_loop(loop.inputargs, loop.operations, looptoken2)
+        done_number = 
self.cpu.get_fail_descr_number(loop.operations[-1].getdescr())
 
         # install it
         self.cpu.redirect_call_assembler(looptoken, looptoken2)
@@ -2603,7 +2610,7 @@
         res = self.cpu.execute_token(othertoken)
         x = self.cpu.get_latest_value_float(0)
         assert longlong.getrealfloat(x) == 13.5
-        assert called
+        assert called == [done_number]
 
     def test_short_result_of_getfield_direct(self):
         # Test that a getfield that returns a CHAR, SHORT or INT, signed
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to