[pypy-svn] r74943 - pypy/branch/blackhole-improvement/pypy/jit/metainterp/test
arigo at codespeak.net
arigo at codespeak.net
Mon May 31 00:47:42 CEST 2010
Author: arigo
Date: Mon May 31 00:47:39 2010
New Revision: 74943
Modified:
pypy/branch/blackhole-improvement/pypy/jit/metainterp/test/test_basic.py
Log:
The next failing test.
Modified: pypy/branch/blackhole-improvement/pypy/jit/metainterp/test/test_basic.py
==============================================================================
--- pypy/branch/blackhole-improvement/pypy/jit/metainterp/test/test_basic.py (original)
+++ pypy/branch/blackhole-improvement/pypy/jit/metainterp/test/test_basic.py Mon May 31 00:47:39 2010
@@ -366,6 +366,38 @@
assert res == 42
self.check_operations_history(int_add=0, int_mul=0, call=0)
+ def test_constfold_call_pure(self):
+ myjitdriver = JitDriver(greens = ['m'], reds = ['n'])
+ def externfn(x):
+ return x - 3
+ externfn._pure_function_ = True
+ def f(n, m):
+ while n > 0:
+ myjitdriver.can_enter_jit(n=n, m=m)
+ myjitdriver.jit_merge_point(n=n, m=m)
+ n -= externfn(m)
+ return n
+ res = self.meta_interp(f, [21, 5])
+ assert res == -1
+
+ def test_constfold_call_pure_2(self):
+ myjitdriver = JitDriver(greens = ['m'], reds = ['n'])
+ def externfn(x):
+ return x - 3
+ externfn._pure_function_ = True
+ class V:
+ def __init__(self, value):
+ self.value = value
+ def f(n, m):
+ while n > 0:
+ myjitdriver.can_enter_jit(n=n, m=m)
+ myjitdriver.jit_merge_point(n=n, m=m)
+ v = V(m)
+ n -= externfn(v.value)
+ return n
+ res = self.meta_interp(f, [21, 5])
+ assert res == -1
+
def test_constant_across_mp(self):
myjitdriver = JitDriver(greens = [], reds = ['n'])
class X(object):
More information about the Pypy-commit
mailing list