Author: Armin Rigo <[email protected]>
Branch: continulet-jit-3
Changeset: r57453:a71717d06301
Date: 2012-09-21 16:35 +0200
http://bitbucket.org/pypy/pypy/changeset/a71717d06301/
Log: Finish fixes for llgraph tests, apart from CALL_ASSEMBLER.
diff --git a/pypy/jit/backend/llgraph/llimpl.py
b/pypy/jit/backend/llgraph/llimpl.py
--- a/pypy/jit/backend/llgraph/llimpl.py
+++ b/pypy/jit/backend/llgraph/llimpl.py
@@ -1043,7 +1043,7 @@
else:
raise Exception("Nonsense type %s" % TYPE)
- failindex = self.cpu._execute_token(loop_token)
+ subframe = self.cpu._execute_token(loop_token)
jd = loop_token.outermost_jitdriver_sd
assert jd is not None, ("call_assembler(): the loop_token needs "
"to have 'outermost_jitdriver_sd'")
@@ -1053,6 +1053,7 @@
vable = lltype.nullptr(llmemory.GCREF.TO)
#
# Emulate the fast path
+ failindex = self.cpu.get_latest_descr(subframe)
if failindex == self.cpu.done_with_this_frame_int_v:
reset_vable(jd, vable)
return self.cpu.get_latest_value_int(0)
diff --git a/pypy/jit/backend/test/runner_test.py
b/pypy/jit/backend/test/runner_test.py
--- a/pypy/jit/backend/test/runner_test.py
+++ b/pypy/jit/backend/test/runner_test.py
@@ -2235,12 +2235,12 @@
def maybe_force(token, flag):
if flag:
self.cpu.force(token)
- values.append(self.cpu.get_latest_value_int(frame, 0))
- values.append(self.cpu.get_latest_value_int(frame, 2))
+ values.append(self.cpu.get_latest_value_int(token, 0))
+ values.append(self.cpu.get_latest_value_int(token, 2))
values.append(token)
return 42
- FUNC = self.FuncType([lltype.Signed, lltype.Signed], lltype.Signed)
+ FUNC = self.FuncType([llmemory.GCREF, lltype.Signed], lltype.Signed)
func_ptr = llhelper(lltype.Ptr(FUNC), maybe_force)
funcbox = self.get_funcbox(self.cpu, func_ptr).constbox()
calldescr = self.cpu.calldescrof(FUNC, FUNC.ARGS, FUNC.RESULT,
@@ -2249,10 +2249,10 @@
i0 = BoxInt()
i1 = BoxInt()
i2 = BoxInt()
- tok = BoxInt()
+ tok = BoxPtr()
faildescr = BasicFailDescr(1)
ops = [
- ResOperation(rop.FORCE_TOKEN, [], tok),
+ ResOperation(rop.JIT_FRAME, [], tok),
ResOperation(rop.CALL_MAY_FORCE, [funcbox, tok, i1], i2,
descr=calldescr),
ResOperation(rop.GUARD_NOT_FORCED, [], None, descr=faildescr),
@@ -2280,12 +2280,12 @@
def maybe_force(token, flag):
if flag:
self.cpu.force(token)
- values.append(self.cpu.get_latest_value_int(frame, 0))
- values.append(self.cpu.get_latest_value_int(frame, 2))
+ values.append(self.cpu.get_latest_value_int(token, 0))
+ values.append(self.cpu.get_latest_value_int(token, 2))
values.append(token)
return 42.5
- FUNC = self.FuncType([lltype.Signed, lltype.Signed], lltype.Float)
+ FUNC = self.FuncType([llmemory.GCREF, lltype.Signed], lltype.Float)
func_ptr = llhelper(lltype.Ptr(FUNC), maybe_force)
funcbox = self.get_funcbox(self.cpu, func_ptr).constbox()
calldescr = self.cpu.calldescrof(FUNC, FUNC.ARGS, FUNC.RESULT,
@@ -2294,10 +2294,10 @@
i0 = BoxInt()
i1 = BoxInt()
f2 = BoxFloat()
- tok = BoxInt()
+ tok = BoxPtr()
faildescr = BasicFailDescr(1)
ops = [
- ResOperation(rop.FORCE_TOKEN, [], tok),
+ ResOperation(rop.JIT_FRAME, [], tok),
ResOperation(rop.CALL_MAY_FORCE, [funcbox, tok, i1], f2,
descr=calldescr),
ResOperation(rop.GUARD_NOT_FORCED, [], None, descr=faildescr),
@@ -2334,7 +2334,6 @@
calldescr = cpu._calldescr_dynamic_for_tests([types.uchar], types.sint)
i1 = BoxInt()
i2 = BoxInt()
- tok = BoxInt()
faildescr = BasicFailDescr(1)
ops = [
ResOperation(rop.CALL_RELEASE_GIL, [funcbox, i1], i2,
@@ -2391,7 +2390,6 @@
i1 = BoxInt()
i2 = BoxInt()
i3 = BoxInt()
- tok = BoxInt()
faildescr = BasicFailDescr(1)
ops = [
ResOperation(rop.CALL_RELEASE_GIL, [funcbox, i0, i1, i2, i3], None,
@@ -2490,7 +2488,7 @@
self.cpu.invalidate_loop(looptoken)
frame = self.cpu.execute_token(looptoken, -42, 9)
- assert self.get_latest_descr(frame) is faildescr
+ assert self.cpu.get_latest_descr(frame) is faildescr
assert self.cpu.get_latest_value_int(frame, 0) == 9
print 'step 2 ok'
print '-'*79
@@ -2758,7 +2756,7 @@
lltype.Ptr(lltype.FuncType(ARGS, RES)), ARGS, RES,
EffectInfo.MOST_GENERAL)
args = [i+1 for i in range(10)]
- res = self.cpu.execute_token(looptoken, *args)
+ frame = self.cpu.execute_token(looptoken, *args)
assert self.cpu.get_latest_value_int(frame, 0) == 55
ops = '''
[i0, i1, i2, i3, i4, i5, i6, i7, i8, i9]
@@ -2771,7 +2769,7 @@
othertoken = JitCellToken()
self.cpu.compile_loop(loop.inputargs, loop.operations, othertoken)
args = [i+1 for i in range(10)]
- res = self.cpu.execute_token(othertoken, *args)
+ frame = self.cpu.execute_token(othertoken, *args)
assert self.cpu.get_latest_value_int(frame, 0) == 13
assert called == [done_number]
@@ -2782,7 +2780,7 @@
othertoken = JitCellToken()
self.cpu.compile_loop(loop.inputargs, loop.operations, othertoken)
args = [i+1 for i in range(10)]
- res = self.cpu.execute_token(othertoken, *args)
+ frame = self.cpu.execute_token(othertoken, *args)
assert self.cpu.get_latest_value_int(frame, 0) == 97
assert not called
finally:
@@ -2824,7 +2822,7 @@
self.cpu.compile_loop(loop.inputargs, loop.operations, looptoken)
args = [longlong.getfloatstorage(1.2),
longlong.getfloatstorage(2.3)]
- res = self.cpu.execute_token(looptoken, *args)
+ frame = self.cpu.execute_token(looptoken, *args)
x = self.cpu.get_latest_value_float(frame, 0)
assert longlong.getrealfloat(x) == 1.2 + 2.3
ops = '''
@@ -2838,7 +2836,7 @@
self.cpu.compile_loop(loop.inputargs, loop.operations, othertoken)
args = [longlong.getfloatstorage(1.2),
longlong.getfloatstorage(3.2)]
- res = self.cpu.execute_token(othertoken, *args)
+ frame = self.cpu.execute_token(othertoken, *args)
x = self.cpu.get_latest_value_float(frame, 0)
assert longlong.getrealfloat(x) == 13.5
assert called == [done_number]
@@ -2851,7 +2849,7 @@
self.cpu.compile_loop(loop.inputargs, loop.operations, othertoken)
args = [longlong.getfloatstorage(1.2),
longlong.getfloatstorage(3.2)]
- res = self.cpu.execute_token(othertoken, *args)
+ frame = self.cpu.execute_token(othertoken, *args)
x = self.cpu.get_latest_value_float(frame, 0)
assert longlong.getrealfloat(x) == 1.2 + 3.2
assert not called
@@ -2918,7 +2916,7 @@
done_number =
self.cpu.get_fail_descr_number(loop.operations[-1].getdescr())
args = [longlong.getfloatstorage(1.25),
longlong.getfloatstorage(2.35)]
- res = self.cpu.execute_token(looptoken, *args)
+ frame = self.cpu.execute_token(looptoken, *args)
x = self.cpu.get_latest_value_float(frame, 0)
assert longlong.getrealfloat(x) == 1.25 + 2.35
assert not called
@@ -2936,7 +2934,7 @@
# normal call_assembler: goes to looptoken
args = [longlong.getfloatstorage(1.25),
longlong.getfloatstorage(3.25)]
- res = self.cpu.execute_token(othertoken, *args)
+ frame = self.cpu.execute_token(othertoken, *args)
x = self.cpu.get_latest_value_float(frame, 0)
assert longlong.getrealfloat(x) == 13.5
assert called == [done_number]
@@ -2959,7 +2957,7 @@
# now, our call_assembler should go to looptoken2
args = [longlong.getfloatstorage(6.0),
longlong.getfloatstorage(1.5)] # 6.0-1.5 == 1.25+3.25
- res = self.cpu.execute_token(othertoken, *args)
+ frame = self.cpu.execute_token(othertoken, *args)
x = self.cpu.get_latest_value_float(frame, 0)
assert longlong.getrealfloat(x) == 13.5
assert called == [done_number]
@@ -3654,11 +3652,11 @@
values = []
def maybe_force(token, flag):
self.cpu.force(token)
- values.append(self.cpu.get_latest_value_int(frame, 0))
+ values.append(self.cpu.get_latest_value_int(token, 0))
values.append(token)
return 42
- FUNC = self.FuncType([lltype.Signed, lltype.Signed], lltype.Signed)
+ FUNC = self.FuncType([llmemory.GCREF, lltype.Signed], lltype.Signed)
func_ptr = llhelper(lltype.Ptr(FUNC), maybe_force)
funcbox = self.get_funcbox(self.cpu, func_ptr).constbox()
calldescr = self.cpu.calldescrof(FUNC, FUNC.ARGS, FUNC.RESULT,
@@ -3666,10 +3664,10 @@
i0 = BoxInt()
i1 = BoxInt()
i2 = BoxInt()
- tok = BoxInt()
+ tok = BoxPtr()
faildescr = BasicFailDescr(23)
ops = [
- ResOperation(rop.FORCE_TOKEN, [], tok),
+ ResOperation(rop.JIT_FRAME, [], tok),
ResOperation(rop.CALL_MAY_FORCE, [funcbox, tok, i1], i2,
descr=calldescr),
ResOperation(rop.GUARD_NOT_FORCED, [], None, descr=faildescr),
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit