Author: Armin Rigo <[email protected]>
Branch: jit-simplify-backendintf
Changeset: r50414:70bc31a4262f
Date: 2011-12-12 10:23 +0100
http://bitbucket.org/pypy/pypy/changeset/70bc31a4262f/
Log: Fix tests
diff --git a/pypy/jit/backend/test/test_random.py
b/pypy/jit/backend/test/test_random.py
--- a/pypy/jit/backend/test/test_random.py
+++ b/pypy/jit/backend/test/test_random.py
@@ -649,14 +649,8 @@
exc = cpu.grab_exc_value()
assert not exc
- for i, box in enumerate(self.startvars):
- if isinstance(box, BoxInt):
- cpu.set_future_value_int(i, box.value)
- elif isinstance(box, BoxFloat):
- cpu.set_future_value_float(i, box.value)
- else:
- raise NotImplementedError(box)
- fail = cpu.execute_token(self.runjitcelltoken())
+ arguments = [box.value for box in self.startvars]
+ fail = cpu.execute_token(self.runjitcelltoken(), *arguments)
assert fail is self.should_fail_by.getdescr()
for i, v in enumerate(self.get_fail_args()):
if isinstance(v, (BoxFloat, ConstFloat)):
diff --git a/pypy/jit/backend/x86/test/test_regalloc.py
b/pypy/jit/backend/x86/test/test_regalloc.py
--- a/pypy/jit/backend/x86/test/test_regalloc.py
+++ b/pypy/jit/backend/x86/test/test_regalloc.py
@@ -142,19 +142,20 @@
loop = self.parse(ops)
looptoken = JitCellToken()
self.cpu.compile_loop(loop.inputargs, loop.operations, looptoken)
- for i, arg in enumerate(args):
+ arguments = []
+ for arg in args:
if isinstance(arg, int):
- self.cpu.set_future_value_int(i, arg)
+ arguments.append(arg)
elif isinstance(arg, float):
arg = longlong.getfloatstorage(arg)
- self.cpu.set_future_value_float(i, arg)
+ arguments.append(arg)
else:
assert isinstance(lltype.typeOf(arg), lltype.Ptr)
llgcref = lltype.cast_opaque_ptr(llmemory.GCREF, arg)
- self.cpu.set_future_value_ref(i, llgcref)
+ arguments.append(llgcref)
loop._jitcelltoken = looptoken
if run:
- self.cpu.execute_token(looptoken)
+ self.cpu.execute_token(looptoken, *arguments)
return loop
def prepare_loop(self, ops):
@@ -193,8 +194,8 @@
loop._jitcelltoken)
return bridge
- def run(self, loop):
- return self.cpu.execute_token(loop._jitcelltoken)
+ def run(self, loop, *arguments):
+ return self.cpu.execute_token(loop._jitcelltoken, *arguments)
class TestRegallocSimple(BaseTestRegalloc):
def test_simple_loop(self):
@@ -220,7 +221,7 @@
'''
loop = self.interpret(ops, [0, 0, 0, 0])
ops2 = '''
- [i5]
+ [i5, i6, i7, i8]
label(i5, descr=targettoken2)
i1 = int_add(i5, 1)
i3 = int_add(i1, 1)
@@ -229,14 +230,13 @@
guard_true(i2) [i4]
jump(i4, descr=targettoken2)
'''
- loop2 = self.interpret(ops2, [0])
+ loop2 = self.interpret(ops2, [0, 0, 0, 0])
bridge_ops = '''
[i4]
jump(i4, i4, i4, i4, descr=targettoken)
'''
bridge = self.attach_bridge(bridge_ops, loop2, 5)
- self.cpu.set_future_value_int(0, 0)
- self.run(loop2)
+ self.run(loop2, 0, 0, 0, 0)
assert self.getint(0) == 31
assert self.getint(1) == 30
assert self.getint(2) == 30
@@ -274,8 +274,7 @@
loop = self.interpret(ops, [0])
assert self.getint(0) == 1
bridge = self.attach_bridge(bridge_ops, loop, 2)
- self.cpu.set_future_value_int(0, 0)
- self.run(loop)
+ self.run(loop, 0)
assert self.getint(0) == 1
def test_inputarg_unused(self):
@@ -301,9 +300,7 @@
assert self.getint(0) == 0
assert self.getint(1) == 10
bridge = self.attach_bridge(bridge_ops, loop, 0)
- self.cpu.set_future_value_int(0, 0)
- self.cpu.set_future_value_int(1, 10)
- self.run(loop)
+ self.run(loop, 0, 10)
assert self.getint(0) == 0
assert self.getint(1) == 10
@@ -320,9 +317,7 @@
finish(1, 2)
'''
self.attach_bridge(bridge_ops, loop, 0)
- self.cpu.set_future_value_int(0, 0)
- self.cpu.set_future_value_int(1, 1)
- self.run(loop)
+ self.run(loop, 0, 1)
def test_spill_for_constant(self):
ops = '''
@@ -406,7 +401,7 @@
guard_true(i5) [i2, i1]
jump(i0, i18, i15, i16, i2, i1, i4, descr=targettoken)
'''
- self.interpret(ops, [0, 1, 2, 3])
+ self.interpret(ops, [0, 1, 2, 3, 0, 0, 0])
def test_op_result_unused(self):
ops = '''
@@ -440,9 +435,7 @@
finish(i0, i1, i2, i3, i4, i5, i6, i7, i8)
'''
self.attach_bridge(bridge_ops, loop, 1)
- for i in range(9):
- self.cpu.set_future_value_int(i, i)
- self.run(loop)
+ self.run(loop, 0, 1, 2, 3, 4, 5, 6, 7, 8)
assert self.getints(9) == range(9)
def test_loopargs(self):
@@ -452,27 +445,13 @@
jump(i4, i1, i2, i3)
"""
regalloc = self.prepare_loop(ops)
- assert len(regalloc.rm.reg_bindings) == 2
+ if IS_X86_64:
+ assert len(regalloc.rm.reg_bindings) == 4
+ assert len(regalloc.fm.bindings) == 0
+ else:
+ assert len(regalloc.rm.reg_bindings) == 0
+ assert len(regalloc.fm.bindings) == 4
- def test_loopargs_2(self):
- ops = """
- [i0, i1, i2, i3]
- i4 = int_add(i0, i1)
- finish(i4, i1, i2, i3)
- """
- regalloc = self.prepare_loop(ops)
- assert len(regalloc.rm.reg_bindings) == 2
-
- def test_loopargs_3(self):
- ops = """
- [i0, i1, i2, i3]
- i4 = int_add(i0, i1)
- guard_true(i4) [i0, i1, i2, i3, i4]
- jump(i4, i1, i2, i3)
- """
- regalloc = self.prepare_loop(ops)
- assert len(regalloc.rm.reg_bindings) == 2
-
class TestRegallocCompOps(BaseTestRegalloc):
@@ -640,8 +619,8 @@
i10 = call(ConstClass(f1ptr), i0, descr=f1_calldescr)
finish(i10, i1, i2, i3, i4, i5, i6, i7, i8, i9)
'''
- loop = self.interpret(ops, [4, 7, 9, 9 ,9, 9, 9, 9, 9, 9, 9])
- assert self.getints(11) == [5, 7, 9, 9, 9, 9, 9, 9, 9, 9, 9]
+ loop = self.interpret(ops, [4, 7, 9, 9 ,9, 9, 9, 9, 9, 9])
+ assert self.getints(10) == [5, 7, 9, 9, 9, 9, 9, 9, 9, 9]
clt = loop._jitcelltoken.compiled_loop_token
assert clt.param_depth == self.expected_param_depth(1)
@@ -652,8 +631,8 @@
i11 = call(ConstClass(f2ptr), i10, i1, descr=f2_calldescr)
finish(i11, i1, i2, i3, i4, i5, i6, i7, i8, i9)
'''
- loop = self.interpret(ops, [4, 7, 9, 9 ,9, 9, 9, 9, 9, 9, 9])
- assert self.getints(11) == [5*7, 7, 9, 9, 9, 9, 9, 9, 9, 9, 9]
+ loop = self.interpret(ops, [4, 7, 9, 9 ,9, 9, 9, 9, 9, 9])
+ assert self.getints(10) == [5*7, 7, 9, 9, 9, 9, 9, 9, 9, 9]
clt = loop._jitcelltoken.compiled_loop_token
assert clt.param_depth == self.expected_param_depth(2)
@@ -689,9 +668,7 @@
assert loop.operations[-2].getdescr()._x86_bridge_param_depth ==
self.expected_param_depth(2)
- self.cpu.set_future_value_int(0, 4)
- self.cpu.set_future_value_int(1, 7)
- self.run(loop)
+ self.run(loop, 4, 7)
assert self.getint(0) == 5*7
def test_bridge_calls_2(self):
@@ -712,8 +689,6 @@
assert loop.operations[-2].getdescr()._x86_bridge_param_depth ==
self.expected_param_depth(2)
- self.cpu.set_future_value_int(0, 4)
- self.cpu.set_future_value_int(1, 7)
- self.run(loop)
+ self.run(loop, 4, 7)
assert self.getint(0) == 29
diff --git a/pypy/jit/backend/x86/test/test_regalloc2.py
b/pypy/jit/backend/x86/test/test_regalloc2.py
--- a/pypy/jit/backend/x86/test/test_regalloc2.py
+++ b/pypy/jit/backend/x86/test/test_regalloc2.py
@@ -22,8 +22,7 @@
cpu.setup_once()
looptoken = JitCellToken()
cpu.compile_loop(inputargs, operations, looptoken)
- cpu.set_future_value_int(0, 9)
- cpu.execute_token(looptoken)
+ cpu.execute_token(looptoken, 9)
assert cpu.get_latest_value_int(0) == (9 >> 3)
assert cpu.get_latest_value_int(1) == (~18)
@@ -45,8 +44,7 @@
cpu.setup_once()
looptoken = JitCellToken()
cpu.compile_loop(inputargs, operations, looptoken)
- cpu.set_future_value_int(0, -10)
- cpu.execute_token(looptoken)
+ cpu.execute_token(looptoken, -10)
assert cpu.get_latest_value_int(0) == 0
assert cpu.get_latest_value_int(1) == -1000
assert cpu.get_latest_value_int(2) == 1
@@ -142,17 +140,7 @@
cpu.setup_once()
looptoken = JitCellToken()
cpu.compile_loop(inputargs, operations, looptoken)
- cpu.set_future_value_int(0, -13)
- cpu.set_future_value_int(1, 10)
- cpu.set_future_value_int(2, 10)
- cpu.set_future_value_int(3, 8)
- cpu.set_future_value_int(4, -8)
- cpu.set_future_value_int(5, -16)
- cpu.set_future_value_int(6, -18)
- cpu.set_future_value_int(7, 46)
- cpu.set_future_value_int(8, -12)
- cpu.set_future_value_int(9, 26)
- cpu.execute_token(looptoken)
+ cpu.execute_token(looptoken, -13, 10, 10, 8, -8, -16, -18, 46, -12, 26)
assert cpu.get_latest_value_int(0) == 0
assert cpu.get_latest_value_int(1) == 0
assert cpu.get_latest_value_int(2) == 0
@@ -257,17 +245,7 @@
cpu.setup_once()
looptoken = JitCellToken()
cpu.compile_loop(inputargs, operations, looptoken)
- cpu.set_future_value_int(0, 17)
- cpu.set_future_value_int(1, -20)
- cpu.set_future_value_int(2, -6)
- cpu.set_future_value_int(3, 6)
- cpu.set_future_value_int(4, 1)
- cpu.set_future_value_int(5, 13)
- cpu.set_future_value_int(6, 13)
- cpu.set_future_value_int(7, 9)
- cpu.set_future_value_int(8, 49)
- cpu.set_future_value_int(9, 8)
- cpu.execute_token(looptoken)
+ cpu.execute_token(looptoken, 17, -20, -6, 6, 1, 13, 13, 9, 49, 8)
assert cpu.get_latest_value_int(0) == 0
assert cpu.get_latest_value_int(1) == 8
assert cpu.get_latest_value_int(2) == 1
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit