[pypy-commit] pypy resume-refactor: Next test
arigo
noreply at buildbot.pypy.org
Wed Oct 16 18:56:36 CEST 2013
Author: Armin Rigo <arigo at tunes.org>
Branch: resume-refactor
Changeset: r67434:80e2ea27c994
Date: 2013-10-16 18:49 +0200
http://bitbucket.org/pypy/pypy/changeset/80e2ea27c994/
Log: Next test
diff --git a/rpython/jit/backend/test/runner_test.py b/rpython/jit/backend/test/runner_test.py
--- a/rpython/jit/backend/test/runner_test.py
+++ b/rpython/jit/backend/test/runner_test.py
@@ -1399,15 +1399,23 @@
faildescr1 = BasicFailDescr(1)
faildescr2 = BasicFailDescr(2)
faildescr3 = BasicFinalDescr(3)
+ jitcode = JitCode("jitcode")
+ jitcode.setup(num_regs_i=0, num_regs_r=0, num_regs_f=12)
operations = [
+ ResOperation(rop.ENTER_FRAME, [ConstInt(-1)], None, descr=jitcode),
ResOperation(rop.LABEL, fboxes, None, descr=targettoken),
ResOperation(rop.FLOAT_LE, [fboxes[0], constfloat(9.2)], i2),
+ ]
+ for i in range(12):
+ operations.append(
+ ResOperation(rop.RESUME_PUT, [fboxes[i], ConstInt(0),
+ ConstInt(i)], None))
+ operations.extend([
ResOperation(rop.GUARD_TRUE, [i2], None, descr=faildescr1),
ResOperation(rop.GUARD_FALSE, [i2], None, descr=faildescr2),
+ ResOperation(rop.LEAVE_FRAME, [], None),
ResOperation(rop.FINISH, [], None, descr=faildescr3),
- ]
- operations[-3].setfailargs(fboxes)
- operations[-2].setfailargs(fboxes)
+ ])
looptoken = JitCellToken()
self.cpu.compile_loop(None, fboxes, operations, looptoken)
@@ -1418,7 +1426,9 @@
ResOperation(rop.JUMP, [f3]+fboxes2[1:], None, descr=targettoken),
]
- self.cpu.compile_bridge(None, faildescr1, fboxes2, bridge, looptoken)
+ self.cpu.compile_bridge(None, faildescr1, fboxes2,
+ rebuild_locs_from_resumedata(faildescr1),
+ bridge, looptoken)
args = []
for i in range(len(fboxes)):
@@ -1427,11 +1437,12 @@
deadframe = self.cpu.execute_token(looptoken, *args)
fail = self.cpu.get_latest_descr(deadframe)
assert fail.identifier == 2
- res = self.cpu.get_float_value(deadframe, 0)
+ locs = rebuild_locs_from_resumedata(fail)
+ res = self.cpu.get_float_value(deadframe, locs, 0)
assert longlong.getrealfloat(res) == 8.5
for i in range(1, len(fboxes)):
got = longlong.getrealfloat(self.cpu.get_float_value(
- deadframe, i))
+ deadframe, locs, i))
assert got == 13.5 + 6.73 * i
def test_compile_bridge_spilled_float(self):
More information about the pypy-commit
mailing list