[pypy-commit] pypy ppc-jit-backend: (bivab, hager): add test to test_runner.py

hager noreply at buildbot.pypy.org
Fri Feb 10 14:00:34 CET 2012


Author: hager <sven.hager at uni-duesseldorf.de>
Branch: ppc-jit-backend
Changeset: r52348:7c26a3f31048
Date: 2012-02-10 14:00 +0100
http://bitbucket.org/pypy/pypy/changeset/7c26a3f31048/

Log:	(bivab, hager): add test to test_runner.py

diff --git a/pypy/jit/backend/ppc/test/test_runner.py b/pypy/jit/backend/ppc/test/test_runner.py
--- a/pypy/jit/backend/ppc/test/test_runner.py
+++ b/pypy/jit/backend/ppc/test/test_runner.py
@@ -54,4 +54,27 @@
             args = [i+1 for i in range(numargs)]
             res = self.cpu.execute_token(looptoken, *args)
             assert self.cpu.get_latest_value_int(0) == sum(args)
+  
+    def test_return_spilled_args(self):
+        numargs = 50
+        for _ in range(numargs):
+            self.cpu.reserve_some_free_fail_descr_number()
+        ops = []
+        arglist = "[%s]\n" % ", ".join(["i%d" % i for i in range(numargs)])
+        ops.append(arglist)
+        # spill every inputarg
+        for i in range(numargs):
+            ops.append("force_spill(i%d)\n" % i)
+        ops.append("guard_value(i0, -1) %s" % arglist)
+        ops = "".join(ops)
+        loop = parse(ops)
+        looptoken = JitCellToken()
+        done_number = self.cpu.get_fail_descr_number(loop.operations[-1].getdescr())
+        self.cpu.compile_loop(loop.inputargs, loop.operations, looptoken)
+        ARGS = [lltype.Signed] * numargs
+        RES = lltype.Signed
+        args = [i+1 for i in range(numargs)]
+        res = self.cpu.execute_token(looptoken, *args)
+        for i in range(numargs):
+            assert self.cpu.get_latest_value_int(i) == i + 1
         


More information about the pypy-commit mailing list