Author: Maciej Fijalkowski <[email protected]>
Branch: kill-gen-store-back-in
Changeset: r62772:5cbac99bcd55
Date: 2013-03-25 17:14 -0700
http://bitbucket.org/pypy/pypy/changeset/5cbac99bcd55/
Log: make the test check what I want
diff --git a/rpython/jit/metainterp/test/test_recursive.py
b/rpython/jit/metainterp/test/test_recursive.py
--- a/rpython/jit/metainterp/test/test_recursive.py
+++ b/rpython/jit/metainterp/test/test_recursive.py
@@ -33,7 +33,7 @@
myjitdriver = JitDriver(greens=[], reds=['n', 'm'])
class Error(Exception):
pass
-
+
def f(n):
m = n - 2
while True:
@@ -246,7 +246,7 @@
class Exc(Exception):
pass
-
+
def f(code, n):
pc = 0
while pc < len(code):
@@ -286,7 +286,7 @@
return "%s %d %s" % (code, pc, code[pc])
myjitdriver = JitDriver(greens=['pc', 'code'], reds=['n'],
get_printable_location=p)
-
+
def f(code, n):
pc = 0
while pc < len(code):
@@ -309,7 +309,7 @@
return n
def main(n):
set_param(None, 'threshold', 3)
- set_param(None, 'trace_eagerness', 5)
+ set_param(None, 'trace_eagerness', 5)
return f("c-l", n)
expected = main(100)
res = self.meta_interp(main, [100], enable_opts='', inline=True)
@@ -328,7 +328,7 @@
if n > 0:
return recursive(n - 1) + 1
return 0
- def loop(n):
+ def loop(n):
set_param(myjitdriver, "threshold", 10)
pc = 0
while n:
@@ -411,8 +411,8 @@
self.i7 = i7
self.i8 = i8
self.i9 = i9
-
-
+
+
def loop(n):
i = 0
o = A(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
@@ -444,8 +444,8 @@
self.i7 = i7
self.i8 = i8
self.i9 = i9
-
-
+
+
def loop(n):
i = 0
o = A(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
@@ -467,7 +467,7 @@
res = self.meta_interp(main, [20], failargs_limit=FAILARGS_LIMIT,
listops=True)
assert not res
- self.check_aborted_count(5)
+ self.check_aborted_count(5)
def test_set_param_inlining(self):
myjitdriver = JitDriver(greens=[], reds=['n', 'recurse'])
@@ -480,7 +480,7 @@
myjitdriver.can_enter_jit(n=n, recurse=recurse)
return n
TRACE_LIMIT = 66
-
+
def main(inline):
set_param(None, "threshold", 10)
set_param(None, 'function_threshold', 60)
@@ -502,7 +502,7 @@
return "'%s' at %d: %s" % (code, pc, code[pc])
myjitdriver = JitDriver(greens=['pc', 'code'], reds=['n'],
get_printable_location=p)
-
+
def f(code, n):
pc = 0
while pc < len(code):
@@ -543,7 +543,7 @@
return "%s %d %s" % (code, pc, code[pc])
myjitdriver = JitDriver(greens=['pc', 'code'], reds=['n'],
get_printable_location=p)
-
+
def f(code, n):
pc = 0
while pc < len(code):
@@ -576,7 +576,7 @@
result += f('-c-----------l-', i+100)
self.meta_interp(g, [10], backendopt=True)
self.check_aborted_count(1)
- self.check_resops(call=0, call_assembler=2)
+ self.check_resops(call=0, call_assembler=2)
self.check_jitcell_token_count(2)
def test_directly_call_assembler(self):
@@ -717,7 +717,7 @@
class MyException(Exception):
def __init__(self, x):
self.x = x
-
+
driver = JitDriver(greens = ['codeno'], reds = ['i'],
get_printable_location = lambda codeno :
str(codeno))
@@ -736,7 +736,7 @@
raise MyException(1)
self.meta_interp(portal, [2], inline=True)
- self.check_history(call_assembler=1)
+ self.check_history(call_assembler=1)
def test_directly_call_assembler_fail_guard(self):
driver = JitDriver(greens = ['codeno'], reds = ['i', 'k'],
@@ -765,11 +765,11 @@
class Thing(object):
def __init__(self, val):
self.val = val
-
+
class Frame(object):
_virtualizable2_ = ['thing']
-
- driver = JitDriver(greens = ['codeno'], reds = ['i', 'frame'],
+
+ driver = JitDriver(greens = ['codeno'], reds = ['i', 's', 'frame'],
virtualizables = ['frame'],
get_printable_location = lambda codeno :
str(codeno))
@@ -781,19 +781,22 @@
def portal(codeno, frame):
i = 0
+ s = 0
while i < 10:
- driver.can_enter_jit(frame=frame, codeno=codeno, i=i)
- driver.jit_merge_point(frame=frame, codeno=codeno, i=i)
+ driver.can_enter_jit(frame=frame, codeno=codeno, i=i, s=s)
+ driver.jit_merge_point(frame=frame, codeno=codeno, i=i, s=s)
nextval = frame.thing.val
if codeno == 0:
subframe = Frame()
subframe.thing = Thing(nextval)
nextval = portal(1, subframe)
+ s += subframe.thing.val
frame.thing = Thing(nextval + 1)
i += 1
return frame.thing.val
res = self.meta_interp(main, [0], inline=True)
+ self.check_resops(force_virtualizable=2)
assert res == main(0)
def test_directly_call_assembler_virtualizable_reset_token(self):
@@ -803,10 +806,10 @@
class Thing(object):
def __init__(self, val):
self.val = val
-
+
class Frame(object):
_virtualizable2_ = ['thing']
-
+
driver = JitDriver(greens = ['codeno'], reds = ['i', 'frame'],
virtualizables = ['frame'],
get_printable_location = lambda codeno :
str(codeno))
@@ -854,10 +857,10 @@
class Thing(object):
def __init__(self, val):
self.val = val
-
+
class Frame(object):
_virtualizable2_ = ['thing']
-
+
driver = JitDriver(greens = ['codeno'], reds = ['i', 'frame'],
virtualizables = ['frame'],
get_printable_location = lambda codeno :
str(codeno))
@@ -918,7 +921,7 @@
def main(codeno, n, a):
frame = Frame([a, a+1, a+2, a+3], 0)
return f(codeno, n, a, frame)
-
+
def f(codeno, n, a, frame):
x = 0
while n > 0:
@@ -948,10 +951,10 @@
class Thing(object):
def __init__(self, val):
self.val = val
-
+
class Frame(object):
_virtualizable2_ = ['thing']
-
+
driver = JitDriver(greens = ['codeno'], reds = ['i', 'frame'],
virtualizables = ['frame'],
get_printable_location = lambda codeno :
str(codeno))
@@ -1195,7 +1198,7 @@
def test_trace_from_start_always(self):
from rpython.rlib.nonconst import NonConstant
-
+
driver = JitDriver(greens = ['c'], reds = ['i', 'v'])
def portal(c, i, v):
@@ -1220,7 +1223,7 @@
def test_trace_from_start_does_not_prevent_inlining(self):
driver = JitDriver(greens = ['c', 'bc'], reds = ['i'])
-
+
def portal(bc, c, i):
while True:
driver.jit_merge_point(c=c, bc=bc, i=i)
@@ -1229,7 +1232,7 @@
c += 1
else:
return
- if c == 10: # bc == 0
+ if c == 10: # bc == 0
c = 0
if i >= 100:
return
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit