[pypy-svn] r72181 - pypy/trunk/pypy/jit/metainterp/test
fijal at codespeak.net
fijal at codespeak.net
Fri Mar 12 20:09:26 CET 2010
Author: fijal
Date: Fri Mar 12 20:09:25 2010
New Revision: 72181
Modified:
pypy/trunk/pypy/jit/metainterp/test/test_list.py
Log:
Kill resizable-list tests. The reason is that they mostly pass without correct
support for resizable lists, so they're of no use as they are.
Modified: pypy/trunk/pypy/jit/metainterp/test/test_list.py
==============================================================================
--- pypy/trunk/pypy/jit/metainterp/test/test_list.py (original)
+++ pypy/trunk/pypy/jit/metainterp/test/test_list.py Fri Mar 12 20:09:25 2010
@@ -118,266 +118,6 @@
assert res == f(10)
py.test.skip("'[non-null] * n' gives a residual call so far")
self.check_loops(setarrayitem_gc=0, getarrayitem_gc=0, call=0)
-
- def test_append_pop(self):
- py.test.skip("unsupported")
- jitdriver = JitDriver(greens = [], reds = ['n'])
- def f(n):
- while n > 0:
- jitdriver.can_enter_jit(n=n)
- jitdriver.jit_merge_point(n=n)
- lst = []
- lst.append(5)
- lst.append(n)
- lst[0] -= len(lst)
- three = lst[0]
- n = lst.pop() - three
- return n
- res = self.meta_interp(f, [31])
- assert res == -2
- self.check_all_virtualized()
-
- def test_insert(self):
- py.test.skip("unsupported")
- jitdriver = JitDriver(greens = [], reds = ['n'])
- def f(n):
- while n > 0:
- jitdriver.can_enter_jit(n=n)
- jitdriver.jit_merge_point(n=n)
- lst = [1, 2, 3]
- lst.insert(0, n)
- n = lst[0] - 1
- lst.pop()
- # last pop is needed, otherwise it won't work
- return n
- res = self.meta_interp(f, [33])
- assert res == f(33)
- self.check_all_virtualized()
-
- def test_nonzero(self):
- py.test.skip("unsupported")
- jitdriver = JitDriver(greens = [], reds = ['n'])
- def f(n):
- while n > 0:
- jitdriver.can_enter_jit(n=n)
- jitdriver.jit_merge_point(n=n)
- lst = [1, 2, 3]
- lst.insert(0, n)
- # nonzero should go away
- if not lst:
- return -33
- n = lst[0] - 1
- lst.pop()
- # last pop is needed, otherwise it won't work
- return n
- res = self.meta_interp(f, [33])
- assert res == f(33)
- self.check_all_virtualized()
- self.check_loops(listnonzero=0, guard_true=1, guard_false=0)
-
- def test_append_pop_rebuild(self):
- py.test.skip("unsupported")
- jitdriver = JitDriver(greens = [], reds = ['n'])
- def f(n):
- while n > 0:
- jitdriver.can_enter_jit(n=n)
- jitdriver.jit_merge_point(n=n)
- lst = []
- lst.append(5)
- lst.append(n)
- lst[0] -= len(lst)
- three = lst[0]
- n = lst.pop() - three
- if n == 2:
- return n + lst.pop()
- return n
- res = self.meta_interp(f, [31])
- assert res == -2
- self.check_all_virtualized()
-
- def test_list_escapes(self):
- py.test.skip("unsupported")
- jitdriver = JitDriver(greens = [], reds = ['n'])
- def f(n):
- while True:
- jitdriver.can_enter_jit(n=n)
- jitdriver.jit_merge_point(n=n)
- lst = []
- lst.append(n)
- n = lst.pop() - 3
- if n < 0:
- return len(lst)
- res = self.meta_interp(f, [31])
- assert res == 0
- self.check_all_virtualized()
-
- def test_list_reenters(self):
- py.test.skip("unsupported")
- jitdriver = JitDriver(greens = [], reds = ['n'])
- def f(n):
- while n > 0:
- jitdriver.can_enter_jit(n=n)
- jitdriver.jit_merge_point(n=n)
- lst = []
- lst.append(n)
- if n < 10:
- lst[-1] = n-1
- n = lst.pop() - 3
- return n
- res = self.meta_interp(f, [31])
- assert res == -1
- self.check_all_virtualized()
-
- def test_cannot_merge(self):
- py.test.skip("unsupported")
- jitdriver = JitDriver(greens = [], reds = ['n'])
- def f(n):
- while n > 0:
- jitdriver.can_enter_jit(n=n)
- jitdriver.jit_merge_point(n=n)
- lst = []
- if n < 20:
- lst.append(n-3)
- if n > 5:
- lst.append(n-4)
- n = lst.pop()
- return n
- res = self.meta_interp(f, [30])
- assert res == -1
- self.check_all_virtualized()
-
- def test_list_escapes(self):
- py.test.skip("unsupported")
- jitdriver = JitDriver(greens = [], reds = ['n'])
- def g(l):
- pass
-
- def f(n):
- while n > 0:
- jitdriver.can_enter_jit(n=n)
- jitdriver.jit_merge_point(n=n)
- l = []
- l.append(3)
- g(l)
- n -= 1
- return n
- res = self.meta_interp(f, [30], policy=StopAtXPolicy(g))
- assert res == 0
- self.check_loops(append=1)
-
- def test_list_escapes_various_ops(self):
- py.test.skip("unsupported")
- jitdriver = JitDriver(greens = [], reds = ['n'])
- def g(l):
- pass
-
- def f(n):
- while n > 0:
- jitdriver.can_enter_jit(n=n)
- jitdriver.jit_merge_point(n=n)
- l = []
- l.append(3)
- l.append(1)
- n -= l.pop()
- n -= l[0]
- if l:
- g(l)
- n -= 1
- return n
- res = self.meta_interp(f, [30], policy=StopAtXPolicy(g))
- assert res == 0
- self.check_loops(append=2)
-
- def test_list_escapes_find_nodes(self):
- py.test.skip("unsupported")
- jitdriver = JitDriver(greens = [], reds = ['n'])
- def g(l):
- pass
-
- def f(n):
- while n > 0:
- jitdriver.can_enter_jit(n=n)
- jitdriver.jit_merge_point(n=n)
- l = [0] * n
- l.append(3)
- l.append(1)
- n -= l.pop()
- n -= l[-1]
- if l:
- g(l)
- n -= 1
- return n
- res = self.meta_interp(f, [30], policy=StopAtXPolicy(g))
- assert res == 0
- self.check_loops(append=2)
-
- def test_stuff_escapes_via_setitem(self):
- py.test.skip("unsupported")
- jitdriver = JitDriver(greens = [], reds = ['n', 'l'])
- class Stuff(object):
- def __init__(self, x):
- self.x = x
-
- def f(n):
- l = [None]
- while n > 0:
- jitdriver.can_enter_jit(n=n, l=l)
- jitdriver.jit_merge_point(n=n, l=l)
- s = Stuff(3)
- l.append(s)
- n -= l[0].x
- return n
- res = self.meta_interp(f, [30])
- assert res == 0
- self.check_loops(append=1)
-
- def test_virtual_escaping_via_list(self):
- py.test.skip("unsupported")
- jitdriver = JitDriver(greens = [], reds = ['n', 'l'])
- class Stuff(object):
- def __init__(self, x):
- self.x = x
-
- def f(n):
- l = [Stuff(n-i) for i in range(n)]
-
- while n > 0:
- jitdriver.can_enter_jit(n=n, l=l)
- jitdriver.jit_merge_point(n=n, l=l)
- s = l.pop()
- n -= s.x
-
- res = self.meta_interp(f, [20])
- assert res == f(20)
- self.check_loops(pop=1, getfield_gc=1)
-
- def test_extend(self):
- py.test.skip("XXX")
- def f(n):
- while n > 0:
- lst = [5, 2]
- lst.extend([6, 7, n - 10])
- n = lst.pop()
- return n
- res = self.meta_interp(f, [33], exceptions=False)
- assert res == -7
- self.check_all_virtualized()
-
- def test_single_list(self):
- py.test.skip("in-progress")
- def f(n):
- lst = [n] * n
- while n > 0:
- n = lst.pop()
- lst.append(n - 10)
- a = lst.pop()
- b = lst.pop()
- return a * b
- res = self.meta_interp(f, [37], exceptions=False)
- assert res == -13 * 37
- self.check_all_virtualized()
-
-
class TestOOtype(ListTests, OOJitMixin):
pass
More information about the Pypy-commit
mailing list