[pypy-commit] pypy resume-refactor: Fix tests
fijal
noreply at buildbot.pypy.org
Sun Jan 12 14:16:29 CET 2014
Author: Maciej Fijalkowski <fijall at gmail.com>
Branch: resume-refactor
Changeset: r68610:7fe47e3af653
Date: 2014-01-12 14:15 +0100
http://bitbucket.org/pypy/pypy/changeset/7fe47e3af653/
Log: Fix tests
diff --git a/rpython/jit/backend/llsupport/llmodel.py b/rpython/jit/backend/llsupport/llmodel.py
--- a/rpython/jit/backend/llsupport/llmodel.py
+++ b/rpython/jit/backend/llsupport/llmodel.py
@@ -344,15 +344,10 @@
ofs = self.unpack_arraydescr(descr)
return self.read_int_at_mem(deadframe, pos * WORD + ofs, WORD, 1)
- def get_ref_value(self, deadframe, locs, pos):
- xxx
+ def get_ref_value(self, deadframe, pos):
descr = self.gc_ll_descr.getframedescrs(self).arraydescr
ofs = self.unpack_arraydescr(descr)
- if locs is None:
- assert pos == 0
- else:
- pos = locs[pos] * WORD
- return self.read_ref_at_mem(deadframe, pos + ofs)
+ return self.read_ref_at_mem(deadframe, pos * WORD + ofs)
def get_float_value(self, deadframe, pos):
descr = self.gc_ll_descr.getframedescrs(self).arraydescr
diff --git a/rpython/jit/backend/llsupport/resumebuilder.py b/rpython/jit/backend/llsupport/resumebuilder.py
--- a/rpython/jit/backend/llsupport/resumebuilder.py
+++ b/rpython/jit/backend/llsupport/resumebuilder.py
@@ -52,23 +52,31 @@
self.current_attachment = {}
self.frontend_liveness = frontend_liveness
self.frontend_pos = {}
+ self.virtuals = {}
def process(self, op):
if op.getopnum() == rop.RESUME_PUT:
box = op.getarg(0)
args = op.getarglist()
- try:
- pos = self.regalloc.loc(box, must_exist=True).get_jitframe_position()
- except KeyError:
- # the thing is not *yet* anywhere, which means we'll record
- # we know about it, but not store the resume_put just yet
- self.current_attachment[box] = -1
+ if box in self.virtuals:
+ newop = op
+ else:
+ try:
+ loc = self.regalloc.loc(box, must_exist=True)
+ pos = loc.get_jitframe_position()
+ except KeyError:
+ # the thing is not *yet* anywhere, which means we'll record
+ # we know about it, but not store the resume_put just yet
+ self.current_attachment[box] = -1
+ self.frontend_pos[box] = (args[1], args[2])
+ return
+ self.current_attachment[box] = pos
self.frontend_pos[box] = (args[1], args[2])
- return
- self.current_attachment[box] = pos
- self.frontend_pos[box] = (args[1], args[2])
- args[0] = ConstInt(pos)
- newop = op.copy_and_change(rop.RESUME_PUT, args=args)
+ args[0] = ConstInt(pos)
+ newop = op.copy_and_change(rop.RESUME_PUT, args=args)
+ elif op.getopnum() == rop.RESUME_NEW:
+ self.virtuals[op.result] = None
+ newop = op
else:
newop = op
self.newops.append(newop)
diff --git a/rpython/jit/backend/llsupport/test/test_resumebuilder.py b/rpython/jit/backend/llsupport/test/test_resumebuilder.py
--- a/rpython/jit/backend/llsupport/test/test_resumebuilder.py
+++ b/rpython/jit/backend/llsupport/test/test_resumebuilder.py
@@ -72,7 +72,7 @@
enter_frame(-1, descr=jitcode)
p0 = resume_new(descr=structdescr)
resume_setfield_gc(p0, i0, descr=fielddescr)
- resume_put(30, 0, 0)
+ resume_put(p0, 0, 0)
leave_frame()
""", namespace=namespace)
descr = loop.operations[-3].getdescr()
@@ -113,3 +113,19 @@
assert descr2.rd_bytecode_position == 3
equaloplists(descr1.rd_resume_bytecode.opcodes,
expected_resume.operations)
+
+ def test_bridge(self):
+ jitcode = JitCode("name")
+ jitcode.setup(num_regs_i=2, num_regs_r=0, num_regs_f=0)
+ loop = parse("""
+ [i0]
+ enter_frame(-1, descr=jitcode)
+ resume_put(i0, 0, 0)
+ i1 = int_lt(i0, 10)
+ guard_true(i1)
+ leave_frame()
+ """, namespace={'jitcode': jitcode})
+
+ looptoken = JitCellToken()
+ self.cpu.compile_loop(None, loop.inputargs, loop.operations,
+ looptoken)
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
@@ -1248,10 +1248,10 @@
assert fail.identifier == 42
#
for k in range(intboxes):
- got = self.cpu.get_int_value(deadframe, locs, k)
+ got = self.cpu.get_int_value(deadframe, locs[0][k])
assert got == expvalues[k]
for k in range(floatboxes):
- got = self.cpu.get_float_value(deadframe, locs, k + intboxes)
+ got = self.cpu.get_float_value(deadframe, locs[0][k + intboxes])
assert got == expvalues[k + intboxes]
def test_jump(self):
@@ -1379,14 +1379,14 @@
else:
refvals.append(val)
for i, val in enumerate(intvals):
- got = self.cpu.get_int_value(deadframe, locs, i)
+ got = self.cpu.get_int_value(deadframe, locs[0][i])
assert got == val
for i, val in enumerate(refvals):
- got = self.cpu.get_ref_value(deadframe, locs, i + len(intvals))
+ got = self.cpu.get_ref_value(deadframe, locs[0][i + len(intvals)])
assert got == val
for i, val in enumerate(floatvals):
- got = self.cpu.get_float_value(deadframe, locs,
- i + len(intvals) + len(refvals))
+ got = self.cpu.get_float_value(deadframe, locs[0][
+ i + len(intvals) + len(refvals)])
assert got == val
def test_compile_bridge_float(self):
@@ -1437,11 +1437,11 @@
fail = self.cpu.get_latest_descr(deadframe)
assert fail.identifier == 2
locs = rebuild_locs_from_resumedata(fail)
- res = self.cpu.get_float_value(deadframe, locs, 0)
+ res = self.cpu.get_float_value(deadframe, locs[0][0])
assert longlong.getrealfloat(res) == 8.5
for i in range(1, len(fboxes)):
got = longlong.getrealfloat(self.cpu.get_float_value(
- deadframe, locs, i))
+ deadframe, locs[0][i]))
assert got == 13.5 + 6.73 * i
def test_compile_bridge_spilled_float(self):
@@ -1474,9 +1474,9 @@
fail = self.cpu.get_latest_descr(deadframe)
assert loop.operations[-3].getdescr() is fail is faildescr1
locs = rebuild_locs_from_resumedata(fail)
- f1 = self.cpu.get_float_value(deadframe, locs, 0)
- f2 = self.cpu.get_float_value(deadframe, locs, 1)
- f3 = self.cpu.get_float_value(deadframe, locs, 2)
+ f1 = self.cpu.get_float_value(deadframe, locs[0][0])
+ f2 = self.cpu.get_float_value(deadframe, locs[0][1])
+ f3 = self.cpu.get_float_value(deadframe, locs[0][2])
assert longlong.getrealfloat(f1) == 132.25
assert longlong.getrealfloat(f2) == 0.75
assert longlong.getrealfloat(f3) == 133.0
@@ -1499,9 +1499,9 @@
fail = self.cpu.get_latest_descr(deadframe)
assert fail.identifier == 103
locs = rebuild_locs_from_resumedata(fail)
- f1 = self.cpu.get_float_value(deadframe, locs, 0)
- f2 = self.cpu.get_float_value(deadframe, locs, 1)
- f3 = self.cpu.get_float_value(deadframe, locs, 2)
+ f1 = self.cpu.get_float_value(deadframe, locs[0][0])
+ f2 = self.cpu.get_float_value(deadframe, locs[0][1])
+ f3 = self.cpu.get_float_value(deadframe, locs[0][2])
assert longlong.getrealfloat(f1) == 132.25
assert longlong.getrealfloat(f2) == 0.75
assert longlong.getrealfloat(f3) == 133.0
@@ -2131,12 +2131,12 @@
looptoken = JitCellToken()
self.cpu.compile_loop(None, loop.inputargs, loop.operations, looptoken)
deadframe = self.cpu.execute_token(looptoken, 1)
- assert self.cpu.get_ref_value(deadframe, None, 0) == xptr
+ assert self.cpu.get_ref_value(deadframe, 0) == xptr
excvalue = self.cpu.grab_exc_value(deadframe)
assert not excvalue
deadframe = self.cpu.execute_token(looptoken, 0)
locs = rebuild_locs_from_resumedata(faildescr)
- assert self.cpu.get_int_value(deadframe, locs, 0) == 1
+ assert self.cpu.get_int_value(deadframe, locs[0][0]) == 1
excvalue = self.cpu.grab_exc_value(deadframe)
assert not excvalue
@@ -2155,7 +2155,7 @@
looptoken = JitCellToken()
self.cpu.compile_loop(None, loop.inputargs, loop.operations, looptoken)
deadframe = self.cpu.execute_token(looptoken, 1)
- assert self.cpu.get_int_value(deadframe, locs, 0) == 1
+ assert self.cpu.get_int_value(deadframe, locs[0][0]) == 1
excvalue = self.cpu.grab_exc_value(deadframe)
assert excvalue == yptr
@@ -2176,11 +2176,11 @@
self.cpu.compile_loop(None, loop.inputargs, loop.operations, looptoken)
deadframe = self.cpu.execute_token(looptoken, 1)
locs = rebuild_locs_from_resumedata(faildescr)
- assert self.cpu.get_int_value(deadframe, locs, 0) == 1
+ assert self.cpu.get_int_value(deadframe, locs[0][0]) == 1
excvalue = self.cpu.grab_exc_value(deadframe)
assert excvalue == xptr
deadframe = self.cpu.execute_token(looptoken, 0)
- assert self.cpu.get_int_value(deadframe, locs, 0) == 0
+ assert self.cpu.get_int_value(deadframe, locs[0][0]) == 0
excvalue = self.cpu.grab_exc_value(deadframe)
assert not excvalue
@@ -2377,15 +2377,15 @@
assert not called
locs = rebuild_locs_from_resumedata(faildescr)
for j in range(5):
- assert self.cpu.get_int_value(frame, locs, j) == j
- assert longlong.getrealfloat(self.cpu.get_float_value(frame, locs, 6)) == 1.2
- assert longlong.getrealfloat(self.cpu.get_float_value(frame, locs, 7)) == 3.4
+ assert self.cpu.get_int_value(frame, locs[0][j]) == j
+ assert longlong.getrealfloat(self.cpu.get_float_value(frame, locs[0][6])) == 1.2
+ assert longlong.getrealfloat(self.cpu.get_float_value(frame, locs[0][7])) == 3.4
frame = self.cpu.execute_token(looptoken, 1, 1, 1, 2, 3, 4, 5, f1, f2)
assert called == [tuple(range(1, i + 1))]
for j in range(4):
- assert self.cpu.get_int_value(frame, locs, j + 1) == j + 1
- assert longlong.getrealfloat(self.cpu.get_float_value(frame, locs, 6)) == 1.2
- assert longlong.getrealfloat(self.cpu.get_float_value(frame, locs, 7)) == 3.4
+ assert self.cpu.get_int_value(frame, locs[0][j + 1]) == j + 1
+ assert longlong.getrealfloat(self.cpu.get_float_value(frame, locs[0][6])) == 1.2
+ assert longlong.getrealfloat(self.cpu.get_float_value(frame, locs[0][7])) == 3.4
def test_force_operations_returning_void(self):
values = []
@@ -2395,8 +2395,8 @@
fail = self.cpu.get_latest_descr(deadframe)
locs = rebuild_locs_from_resumedata(fail)
values.append(fail)
- values.append(self.cpu.get_int_value(deadframe, locs, 0))
- values.append(self.cpu.get_int_value(deadframe, locs, 1))
+ values.append(self.cpu.get_int_value(deadframe, locs[0][0]))
+ values.append(self.cpu.get_int_value(deadframe, locs[0][1]))
self.cpu.set_savedata_ref(deadframe, random_gcref)
FUNC = self.FuncType([llmemory.GCREF, lltype.Signed], lltype.Void)
@@ -2426,15 +2426,15 @@
deadframe = self.cpu.execute_token(looptoken, 20, 0)
fail = self.cpu.get_latest_descr(deadframe)
assert fail.identifier == 0
- assert self.cpu.get_int_value(deadframe, None, 0) == 20
+ assert self.cpu.get_int_value(deadframe, 0) == 20
assert values == []
deadframe = self.cpu.execute_token(looptoken, 10, 1)
fail = self.cpu.get_latest_descr(deadframe)
assert fail.identifier == 1
locs = rebuild_locs_from_resumedata(fail)
- assert self.cpu.get_int_value(deadframe, locs, 0) == 1
- assert self.cpu.get_int_value(deadframe, locs, 1) == 10
+ assert self.cpu.get_int_value(deadframe, locs[0][0]) == 1
+ assert self.cpu.get_int_value(deadframe, locs[0][1]) == 10
assert values == [faildescr, 1, 10]
assert self.cpu.get_savedata_ref(deadframe) # not NULL
assert self.cpu.get_savedata_ref(deadframe) == random_gcref
@@ -2446,8 +2446,8 @@
deadframe = self.cpu.force(token)
fail = self.cpu.get_latest_descr(deadframe)
locs = rebuild_locs_from_resumedata(fail)
- values.append(self.cpu.get_int_value(deadframe, locs, 0))
- values.append(self.cpu.get_int_value(deadframe, locs, 2))
+ values.append(self.cpu.get_int_value(deadframe, locs[0][0]))
+ values.append(self.cpu.get_int_value(deadframe, locs[0][2]))
self.cpu.set_savedata_ref(deadframe, random_gcref)
return 42
@@ -2480,16 +2480,16 @@
deadframe = self.cpu.execute_token(looptoken, 20, 0)
fail = self.cpu.get_latest_descr(deadframe)
assert fail.identifier == 0
- assert self.cpu.get_int_value(deadframe, None, 0) == 42
+ assert self.cpu.get_int_value(deadframe, 0) == 42
assert values == []
deadframe = self.cpu.execute_token(looptoken, 10, 1)
fail = self.cpu.get_latest_descr(deadframe)
assert fail.identifier == 1
locs = rebuild_locs_from_resumedata(fail)
- assert self.cpu.get_int_value(deadframe, locs, 0) == 1
- assert self.cpu.get_int_value(deadframe, locs, 1) == 42
- assert self.cpu.get_int_value(deadframe, locs, 2) == 10
+ assert self.cpu.get_int_value(deadframe, locs[0][0]) == 1
+ assert self.cpu.get_int_value(deadframe, locs[0][1]) == 42
+ assert self.cpu.get_int_value(deadframe, locs[0][2]) == 10
assert values == [1, 10]
assert self.cpu.get_savedata_ref(deadframe) == random_gcref
@@ -2502,8 +2502,8 @@
deadframe = self.cpu.force(token)
fail = self.cpu.get_latest_descr(deadframe)
locs = rebuild_locs_from_resumedata(fail)
- values.append(self.cpu.get_int_value(deadframe, locs, 0))
- values.append(self.cpu.get_int_value(deadframe, locs, 1))
+ values.append(self.cpu.get_int_value(deadframe, locs[0][0]))
+ values.append(self.cpu.get_int_value(deadframe, locs[0][1]))
self.cpu.set_savedata_ref(deadframe, random_gcref)
return 42.5
@@ -2536,7 +2536,7 @@
deadframe = self.cpu.execute_token(looptoken, 20, 0)
fail = self.cpu.get_latest_descr(deadframe)
assert fail.identifier == 0
- x = self.cpu.get_float_value(deadframe, None, 0)
+ x = self.cpu.get_float_value(deadframe, 0)
assert longlong.getrealfloat(x) == 42.5
assert values == []
@@ -2544,10 +2544,10 @@
fail = self.cpu.get_latest_descr(deadframe)
assert fail.identifier == 1
locs = rebuild_locs_from_resumedata(fail)
- assert self.cpu.get_int_value(deadframe, locs, 0) == 1
- x = self.cpu.get_float_value(deadframe, locs, 2)
+ assert self.cpu.get_int_value(deadframe, locs[0][0]) == 1
+ x = self.cpu.get_float_value(deadframe, locs[0][2])
assert longlong.getrealfloat(x) == 42.5
- assert self.cpu.get_int_value(deadframe, locs, 1) == 10
+ assert self.cpu.get_int_value(deadframe, locs[0][1]) == 10
assert values == [1, 10]
assert self.cpu.get_savedata_ref(deadframe) == random_gcref
@@ -2578,7 +2578,7 @@
deadframe = self.cpu.execute_token(looptoken, ord('G'))
fail = self.cpu.get_latest_descr(deadframe)
assert fail.identifier == 0
- assert self.cpu.get_int_value(deadframe, None, 0) == ord('g')
+ assert self.cpu.get_int_value(deadframe, 0) == ord('g')
def test_call_to_c_function_with_callback(self):
from rpython.rlib.libffi import CDLL, types, ArgChain, clibffi
@@ -2763,7 +2763,7 @@
fail = self.cpu.get_latest_descr(deadframe)
assert fail.identifier == 0
if isinstance(b3, BoxInt):
- r = self.cpu.get_int_value(deadframe, None, 0)
+ r = self.cpu.get_int_value(deadframe, 0)
if isinstance(result, r_singlefloat):
assert -sys.maxint-1 <= r <= 0xFFFFFFFF
r, = struct.unpack("f", struct.pack("I", r & 0xFFFFFFFF))
@@ -2772,7 +2772,7 @@
r = rffi.cast(TP, r)
assert r == result
elif isinstance(b3, BoxFloat):
- r = self.cpu.get_float_value(deadframe, None, 0)
+ r = self.cpu.get_float_value(deadframe, 0)
if isinstance(result, float):
r = longlong.getrealfloat(r)
else:
@@ -2930,7 +2930,7 @@
deadframe = self.cpu.execute_token(looptoken, -42, 9)
fail = self.cpu.get_latest_descr(deadframe)
assert fail.identifier == 0
- assert self.cpu.get_int_value(deadframe, None, 0) == -42
+ assert self.cpu.get_int_value(deadframe, 0) == -42
print 'step 1 ok'
print '-'*79
@@ -2941,7 +2941,7 @@
fail = self.cpu.get_latest_descr(deadframe)
locs = rebuild_locs_from_resumedata(fail)
assert fail is faildescr
- assert self.cpu.get_int_value(deadframe, locs, 0) == 9
+ assert self.cpu.get_int_value(deadframe, locs[0][0]) == 9
print 'step 2 ok'
print '-'*79
@@ -2957,7 +2957,7 @@
deadframe = self.cpu.execute_token(looptoken, -42, 9)
fail = self.cpu.get_latest_descr(deadframe)
assert fail.identifier == 3
- assert self.cpu.get_int_value(deadframe, None, 0) == 9
+ assert self.cpu.get_int_value(deadframe, 0) == 9
print 'step 3 ok'
print '-'*79
@@ -2992,12 +2992,12 @@
ops2 = [
ResOperation(rop.JUMP, [ConstInt(333)], None, descr=labeldescr),
]
- self.cpu.compile_bridge(None, faildescr, [[]], [], ops2, looptoken)
+ self.cpu.compile_bridge(None, faildescr, [[]], [[]], ops2, looptoken)
# run: must not be caught in an infinite loop
deadframe = self.cpu.execute_token(looptoken, 16)
fail = self.cpu.get_latest_descr(deadframe)
assert fail.identifier == 3
- assert self.cpu.get_int_value(deadframe, None, 0) == 333
+ assert self.cpu.get_int_value(deadframe, 0) == 333
# pure do_ / descr features
@@ -3170,7 +3170,7 @@
def test_assembler_call(self):
called = []
def assembler_helper(deadframe, virtualizable):
- assert self.cpu.get_int_value(deadframe, None, 0) == 97
+ assert self.cpu.get_int_value(deadframe, 0) == 97
called.append(self.cpu.get_latest_descr(deadframe))
return 4 + 9
@@ -3208,7 +3208,7 @@
EffectInfo.MOST_GENERAL)
args = [i+1 for i in range(10)]
deadframe = self.cpu.execute_token(looptoken, *args)
- assert self.cpu.get_int_value(deadframe, None, 0) == 55
+ assert self.cpu.get_int_value(deadframe, 0) == 55
ops = '''
[i0, i1, i2, i3, i4, i5, i6, i7, i8, i9]
i10 = int_add(i0, 42)
@@ -3221,7 +3221,7 @@
self.cpu.compile_loop(None, loop.inputargs, loop.operations, othertoken)
args = [i+1 for i in range(10)]
deadframe = self.cpu.execute_token(othertoken, *args)
- assert self.cpu.get_int_value(deadframe, None, 0) == 13
+ assert self.cpu.get_int_value(deadframe, 0) == 13
assert called == [finish_descr]
# test the fast path, which should not call assembler_helper()
@@ -3231,7 +3231,7 @@
self.cpu.compile_loop(None, loop.inputargs, loop.operations, othertoken)
args = [i+1 for i in range(10)]
deadframe = self.cpu.execute_token(othertoken, *args)
- assert self.cpu.get_int_value(deadframe, None, 0) == 97
+ assert self.cpu.get_int_value(deadframe, 0) == 97
assert not called
def test_assembler_call_propagate_exc(self):
@@ -3282,14 +3282,14 @@
othertoken = JitCellToken()
self.cpu.compile_loop(None, loop.inputargs, loop.operations, othertoken)
deadframe = self.cpu.execute_token(othertoken, sys.maxint - 1)
- assert self.cpu.get_int_value(deadframe, None, 0) == 3
+ assert self.cpu.get_int_value(deadframe, 0) == 3
def test_assembler_call_float(self):
if not self.cpu.supports_floats:
py.test.skip("requires floats")
called = []
def assembler_helper(deadframe, virtualizable):
- x = self.cpu.get_float_value(deadframe, None, 0)
+ x = self.cpu.get_float_value(deadframe, 0)
assert longlong.getrealfloat(x) == 1.2 + 3.2
called.append(self.cpu.get_latest_descr(deadframe))
print '!' * 30 + 'assembler_helper'
@@ -3322,7 +3322,7 @@
args = [longlong.getfloatstorage(1.2),
longlong.getfloatstorage(2.3)]
deadframe = self.cpu.execute_token(looptoken, *args)
- x = self.cpu.get_float_value(deadframe, None, 0)
+ x = self.cpu.get_float_value(deadframe, 0)
assert longlong.getrealfloat(x) == 1.2 + 2.3
ops = '''
[f4, f5]
@@ -3336,7 +3336,7 @@
args = [longlong.getfloatstorage(1.2),
longlong.getfloatstorage(3.2)]
deadframe = self.cpu.execute_token(othertoken, *args)
- x = self.cpu.get_float_value(deadframe, None, 0)
+ x = self.cpu.get_float_value(deadframe, 0)
assert longlong.getrealfloat(x) == 13.5
assert called == [finish_descr]
@@ -3348,7 +3348,7 @@
args = [longlong.getfloatstorage(1.2),
longlong.getfloatstorage(4.2)]
deadframe = self.cpu.execute_token(othertoken, *args)
- x = self.cpu.get_float_value(deadframe, None, 0)
+ x = self.cpu.get_float_value(deadframe, 0)
assert longlong.getrealfloat(x) == 1.2 + 4.2
assert not called
@@ -3381,7 +3381,7 @@
py.test.skip("requires floats")
called = []
def assembler_helper(deadframe, virtualizable):
- x = self.cpu.get_float_value(deadframe, None, 0)
+ x = self.cpu.get_float_value(deadframe, 0)
assert longlong.getrealfloat(x) == 1.25 + 3.25
called.append(self.cpu.get_latest_descr(deadframe))
return 13.5
@@ -3412,7 +3412,7 @@
args = [longlong.getfloatstorage(1.25),
longlong.getfloatstorage(2.35)]
deadframe = self.cpu.execute_token(looptoken, *args)
- x = self.cpu.get_float_value(deadframe, None, 0)
+ x = self.cpu.get_float_value(deadframe, 0)
assert longlong.getrealfloat(x) == 1.25 + 2.35
assert not called
@@ -3430,7 +3430,7 @@
args = [longlong.getfloatstorage(1.25),
longlong.getfloatstorage(3.25)]
deadframe = self.cpu.execute_token(othertoken, *args)
- x = self.cpu.get_float_value(deadframe, None, 0)
+ x = self.cpu.get_float_value(deadframe, 0)
assert longlong.getrealfloat(x) == 13.5
assert called == [finish_descr]
del called[:]
@@ -3453,7 +3453,7 @@
args = [longlong.getfloatstorage(6.0),
longlong.getfloatstorage(1.5)] # 6.0-1.5 == 1.25+3.25
deadframe = self.cpu.execute_token(othertoken, *args)
- x = self.cpu.get_float_value(deadframe, None, 0)
+ x = self.cpu.get_float_value(deadframe, 0)
assert longlong.getrealfloat(x) == 13.5
assert called == [finish_descr2]
@@ -3863,7 +3863,7 @@
fail = self.cpu.get_latest_descr(deadframe)
locs = rebuild_locs_from_resumedata(fail)
assert fail.identifier == 2
- res = self.cpu.get_int_value(deadframe, locs, 0)
+ res = self.cpu.get_int_value(deadframe, locs[0][0])
assert res == 10
inputargs2 = [i0]
@@ -3877,7 +3877,7 @@
fail = self.cpu.get_latest_descr(deadframe)
locs = rebuild_locs_from_resumedata(fail)
assert fail.identifier == 3
- res = self.cpu.get_int_value(deadframe, locs, 0)
+ res = self.cpu.get_int_value(deadframe, locs[0][0])
assert res == -10
def test_int_force_ge_zero(self):
@@ -3892,7 +3892,7 @@
self.cpu.compile_loop(None, loop.inputargs, loop.operations, looptoken)
for inp, outp in [(2,2), (-3, 0)]:
deadframe = self.cpu.execute_token(looptoken, inp)
- assert outp == self.cpu.get_int_value(deadframe, None, 0)
+ assert outp == self.cpu.get_int_value(deadframe, 0)
def test_compile_asmlen(self):
from rpython.jit.backend.llsupport.llmodel import AbstractLLCPU
@@ -4053,7 +4053,7 @@
operations = [
ResOperation(rop.FINISH, [], None, descr=BasicFinalDescr(99))
]
- self.cpu.compile_bridge(None, faildescr, [[]], [], operations, looptoken)
+ self.cpu.compile_bridge(None, faildescr, [[]], [[]], operations, looptoken)
deadframe = self.cpu.execute_token(looptoken, null_box.getref_base())
fail = self.cpu.get_latest_descr(deadframe)
assert fail.identifier == 99
@@ -4084,7 +4084,7 @@
self.cpu.compile_loop(None, loop.inputargs, loop.operations, looptoken)
deadframe = self.cpu.execute_token(looptoken,
rffi.cast(lltype.Signed, p), 16)
- result = self.cpu.get_int_value(deadframe, None, 0)
+ result = self.cpu.get_int_value(deadframe, 0)
assert result == rffi.cast(lltype.Signed, value)
rawstorage.free_raw_storage(p)
@@ -4114,7 +4114,7 @@
self.cpu.compile_loop(None, loop.inputargs, loop.operations, looptoken)
deadframe = self.cpu.execute_token(looptoken,
rffi.cast(lltype.Signed, p), 16)
- result = self.cpu.get_float_value(deadframe, None, 0)
+ result = self.cpu.get_float_value(deadframe, 0)
result = longlong.getrealfloat(result)
assert result == rffi.cast(lltype.Float, value)
rawstorage.free_raw_storage(p)
@@ -4144,7 +4144,7 @@
self.cpu.compile_loop(None, loop.inputargs, loop.operations, looptoken)
deadframe = self.cpu.execute_token(looptoken,
rffi.cast(lltype.Signed, p), 16)
- result = self.cpu.get_int_value(deadframe, None, 0)
+ result = self.cpu.get_int_value(deadframe, 0)
assert result == longlong.singlefloat2int(value)
rawstorage.free_raw_storage(p)
@@ -4254,7 +4254,7 @@
deadframe = self.cpu.force(token)
fail = self.cpu.get_latest_descr(deadframe)
locs = rebuild_locs_from_resumedata(fail)
- values.append(self.cpu.get_int_value(deadframe, locs, 0))
+ values.append(self.cpu.get_int_value(deadframe, locs[0][0]))
return 42
FUNC = self.FuncType([llmemory.GCREF, lltype.Signed], lltype.Signed)
@@ -4284,7 +4284,7 @@
fail = self.cpu.get_latest_descr(deadframe)
assert fail.identifier == 23
locs = rebuild_locs_from_resumedata(fail)
- assert self.cpu.get_int_value(deadframe, locs, 0) == 42
+ assert self.cpu.get_int_value(deadframe, locs[0][0]) == 42
# make sure that force reads the registers from a zeroed piece of
# memory
assert values[0] == 0
@@ -4315,13 +4315,13 @@
force_spill(i9)
enter_frame(1, descr=jitcode2)
call(ConstClass(func2_ptr), 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, descr=calldescr2)
- resume_put(i3, 0, 0)
- resume_put(i4, 0, 1)
- resume_put(i5, 0, 2)
- resume_put(i6, 0, 3)
- resume_put(i7, 0, 4)
- resume_put(i8, 0, 5)
- resume_put(i9, 0, 6)
+ resume_put(i3, 1, 0)
+ resume_put(i4, 1, 1)
+ resume_put(i5, 1, 2)
+ resume_put(i6, 1, 3)
+ resume_put(i7, 1, 4)
+ resume_put(i8, 1, 5)
+ resume_put(i9, 1, 6)
guard_true(i1, descr=guarddescr)
leave_frame()
leave_frame()
@@ -4381,7 +4381,7 @@
frame = lltype.cast_opaque_ptr(jitframe.JITFRAMEPTR, frame)
assert len(frame.jf_frame) == frame.jf_frame_info.jfi_frame_depth
locs = rebuild_locs_from_resumedata(guarddescr)
- ref = self.cpu.get_ref_value(frame, locs, 2)
+ ref = self.cpu.get_ref_value(frame, locs[0][2])
token = lltype.cast_opaque_ptr(jitframe.JITFRAMEPTR, ref)
assert token != frame
token = token.resolve()
diff --git a/rpython/jit/metainterp/test/test_resume2.py b/rpython/jit/metainterp/test/test_resume2.py
--- a/rpython/jit/metainterp/test/test_resume2.py
+++ b/rpython/jit/metainterp/test/test_resume2.py
@@ -52,10 +52,10 @@
frame.registers_i[position] = jitframe_pos
def put_box_float(self, frame, position, jitframe_pos):
- xxx
+ frame.registers_f[position] = jitframe_pos
def put_box_ref(self, frame, position, jitframe_pos):
- xxx
+ frame.registers_r[position] = jitframe_pos
def finish(self):
framestack = []
More information about the pypy-commit
mailing list