[pypy-svn] r75310 - pypy/branch/multijit-4/pypy/jit/metainterp/test
arigo at codespeak.net
arigo at codespeak.net
Sat Jun 12 10:40:00 CEST 2010
Author: arigo
Date: Sat Jun 12 10:39:59 2010
New Revision: 75310
Added:
pypy/branch/multijit-4/pypy/jit/metainterp/test/test_jitdriver.py
Log:
Add a first simple test about multiple jitdrivers.
Added: pypy/branch/multijit-4/pypy/jit/metainterp/test/test_jitdriver.py
==============================================================================
--- (empty file)
+++ pypy/branch/multijit-4/pypy/jit/metainterp/test/test_jitdriver.py Sat Jun 12 10:39:59 2010
@@ -0,0 +1,34 @@
+"""Tests for multiple JitDrivers."""
+from pypy.rlib.jit import JitDriver
+from pypy.jit.metainterp.test.test_basic import LLJitMixin, OOJitMixin
+
+
+class MultipleJitDriversTests:
+
+ def test_simple(self):
+ myjitdriver1 = JitDriver(greens=[], reds=['n', 'm'])
+ myjitdriver2 = JitDriver(greens=['g'], reds=['r'])
+ #
+ def loop1(n, m):
+ while n > 0:
+ myjitdriver1.can_enter_jit(n=n, m=m)
+ myjitdriver1.jit_merge_point(n=n, m=m)
+ n -= m
+ return n
+ #
+ def loop2(g, r):
+ while r > 0:
+ myjitdriver2.can_enter_jit(g=g, r=r)
+ myjitdriver2.jit_merge_point(g=g, r=r)
+ r += loop1(r, g) - 1
+ return r
+ #
+ res = self.meta_interp(loop2, [4, 40])
+ assert res == loop2(4, 40)
+
+
+class TestLLtype(MultipleJitDriversTests, LLJitMixin):
+ pass
+
+class TestOOtype(MultipleJitDriversTests, OOJitMixin):
+ pass
More information about the Pypy-commit
mailing list