[pypy-svn] r63558 - in pypy/branch/pyjitpl5-simplify/pypy/jit/metainterp: . test

arigo at codespeak.net arigo at codespeak.net
Fri Apr 3 11:27:10 CEST 2009


Author: arigo
Date: Fri Apr  3 11:27:10 2009
New Revision: 63558

Modified:
   pypy/branch/pyjitpl5-simplify/pypy/jit/metainterp/test/test_basic.py
   pypy/branch/pyjitpl5-simplify/pypy/jit/metainterp/test/test_loop.py
   pypy/branch/pyjitpl5-simplify/pypy/jit/metainterp/warmspot.py
Log:
Skipped test about compiling entry and exit paths if they are seen often enough.


Modified: pypy/branch/pyjitpl5-simplify/pypy/jit/metainterp/test/test_basic.py
==============================================================================
--- pypy/branch/pyjitpl5-simplify/pypy/jit/metainterp/test/test_basic.py	(original)
+++ pypy/branch/pyjitpl5-simplify/pypy/jit/metainterp/test/test_basic.py	Fri Apr  3 11:27:10 2009
@@ -336,6 +336,19 @@
         res = self.meta_interp(f, [7])
         assert res == 0
 
+    def test_bridge_from_interpreter(self):
+        py.test.skip("in-progress")
+        mydriver = JitDriver(reds = ['n'], greens = [])
+
+        def f(n):
+            while n > 0:
+                mydriver.can_enter_jit(n=n)
+                mydriver.jit_merge_point(n=n)
+                n -= 1
+
+        self.meta_interp(f, [20], repeat=7)
+        self.check_loop_count(3)      # the loop, the entry path, the exit path
+
 class TestOOtype(BasicTests, OOJitMixin):
     pass
 

Modified: pypy/branch/pyjitpl5-simplify/pypy/jit/metainterp/test/test_loop.py
==============================================================================
--- pypy/branch/pyjitpl5-simplify/pypy/jit/metainterp/test/test_loop.py	(original)
+++ pypy/branch/pyjitpl5-simplify/pypy/jit/metainterp/test/test_loop.py	Fri Apr  3 11:27:10 2009
@@ -433,7 +433,6 @@
         assert res == 5 * 10 * 3
 
     def test_outer_and_inner_loop(self):
-        #py.test.skip("fix me")
         jitdriver = JitDriver(greens = ['p', 'code'], reds = ['i', 'j',
                                                               'total'])
 

Modified: pypy/branch/pyjitpl5-simplify/pypy/jit/metainterp/warmspot.py
==============================================================================
--- pypy/branch/pyjitpl5-simplify/pypy/jit/metainterp/warmspot.py	(original)
+++ pypy/branch/pyjitpl5-simplify/pypy/jit/metainterp/warmspot.py	Fri Apr  3 11:27:10 2009
@@ -36,13 +36,18 @@
     clear_tcache()
     return jittify_and_run(interp, graph, args, **kwds)
 
-def jittify_and_run(interp, graph, args, **kwds):
+def jittify_and_run(interp, graph, args, repeat=1, **kwds):
     translator = interp.typer.annotator.translator
     warmrunnerdesc = WarmRunnerDesc(translator, **kwds)
     warmrunnerdesc.state.set_param_threshold(3)          # for tests
     warmrunnerdesc.state.set_param_trace_eagerness(2)    # for tests
     warmrunnerdesc.finish()
-    return interp.eval_graph(graph, args)
+    res = interp.eval_graph(graph, args)
+    while repeat > 1:
+        res1 = interp.eval_graph(graph, args)
+        assert res1 == res
+        repeat -= 1
+    return res
 
 def rpython_ll_meta_interp(function, args, backendopt=True,
                            loops='not used right now', **kwds):



More information about the Pypy-commit mailing list