Author: fijal
Branch: jit-leaner-frontend
Changeset: r83358:b29b22264d8f
Date: 2016-03-25 15:25 +0200
http://bitbucket.org/pypy/pypy/changeset/b29b22264d8f/
Log: whack until tests pass
diff --git a/rpython/jit/metainterp/opencoder.py
b/rpython/jit/metainterp/opencoder.py
--- a/rpython/jit/metainterp/opencoder.py
+++ b/rpython/jit/metainterp/opencoder.py
@@ -30,6 +30,10 @@
""" This function will make sure we can use sizes all the
way up to lltype.Signed for indexes everywhere
"""
+ globals()['STORAGE_TP'] = lltype.Signed
+ globals()['MAX_SIZE'] = 2**31-1
+ globals()['MIN_SHORT'] = -2**31
+ globals()['MAX_SHORT'] = 2**31 - 1
class FrontendTagOverflow(Exception):
pass
diff --git a/rpython/jit/metainterp/test/test_compile.py
b/rpython/jit/metainterp/test/test_compile.py
--- a/rpython/jit/metainterp/test/test_compile.py
+++ b/rpython/jit/metainterp/test/test_compile.py
@@ -54,7 +54,7 @@
loopnumbering = 0
class FakeMetaInterpStaticData(object):
-
+ all_descrs = []
logger_noopt = FakeLogger()
logger_ops = FakeLogger()
config = get_combined_translation_config(translating=True)
diff --git a/rpython/jit/metainterp/test/test_opencoder.py
b/rpython/jit/metainterp/test/test_opencoder.py
--- a/rpython/jit/metainterp/test/test_opencoder.py
+++ b/rpython/jit/metainterp/test/test_opencoder.py
@@ -54,7 +54,7 @@
class TestOpencoder(object):
def unpack(self, t):
- iter = t.get_iter(metainterp_sd)
+ iter = t.get_iter()
l = []
while not iter.done():
op = iter.next()
@@ -65,7 +65,7 @@
def test_simple_iterator(self):
i0, i1 = IntFrontendOp(0), IntFrontendOp(0)
- t = Trace([i0, i1])
+ t = Trace([i0, i1], metainterp_sd)
add = FakeOp(t.record_op(rop.INT_ADD, [i0, i1]))
t.record_op(rop.INT_ADD, [add, ConstInt(1)])
(i0, i1), l, _ = self.unpack(t)
@@ -79,7 +79,7 @@
def test_rd_snapshot(self):
i0, i1 = IntFrontendOp(0), IntFrontendOp(0)
- t = Trace([i0, i1])
+ t = Trace([i0, i1], metainterp_sd)
add = FakeOp(t.record_op(rop.INT_ADD, [i0, i1]))
t.record_op(rop.GUARD_FALSE, [add])
# now we write rd_snapshot and friends
@@ -103,7 +103,7 @@
def test_read_snapshot_interface(self):
i0, i1, i2 = IntFrontendOp(0), IntFrontendOp(0), IntFrontendOp(0)
- t = Trace([i0, i1, i2])
+ t = Trace([i0, i1, i2], metainterp_sd)
t.record_op(rop.GUARD_TRUE, [i1])
frame0 = FakeFrame(1, JitCode(2), [i0, i1])
frame1 = FakeFrame(3, JitCode(4), [i2, i2])
@@ -138,7 +138,7 @@
@given(lists_of_operations())
def xxx_test_random_snapshot(self, lst):
inputargs, ops = lst
- t = Trace(inputargs)
+ t = Trace(inputargs, metainterp_sd)
for op in ops:
newop = FakeOp(t.record_op(op.getopnum(), op.getarglist()))
newop.orig_op = op
@@ -157,7 +157,7 @@
def test_cut_trace_from(self):
i0, i1, i2 = IntFrontendOp(0), IntFrontendOp(0), IntFrontendOp(0)
- t = Trace([i0, i1, i2])
+ t = Trace([i0, i1, i2], metainterp_sd)
add1 = FakeOp(t.record_op(rop.INT_ADD, [i0, i1]))
cut_point = t.cut_point()
add2 = FakeOp(t.record_op(rop.INT_ADD, [add1, i1]))
@@ -172,7 +172,7 @@
def test_virtualizable_virtualref(self):
i0, i1, i2 = IntFrontendOp(0), IntFrontendOp(0), IntFrontendOp(0)
- t = Trace([i0, i1, i2])
+ t = Trace([i0, i1, i2], metainterp_sd)
p0 = FakeOp(t.record_op(rop.NEW_WITH_VTABLE, [], descr=SomeDescr()))
t.record_op(rop.GUARD_TRUE, [i0])
resume.capture_resumedata([], [i1, i2, p0], [p0, i1], t)
@@ -183,15 +183,15 @@
def test_liveranges(self):
i0, i1, i2 = IntFrontendOp(0), IntFrontendOp(0), IntFrontendOp(0)
- t = Trace([i0, i1, i2])
+ t = Trace([i0, i1, i2], metainterp_sd)
p0 = FakeOp(t.record_op(rop.NEW_WITH_VTABLE, [], descr=SomeDescr()))
t.record_op(rop.GUARD_TRUE, [i0])
resume.capture_resumedata([], [i1, i2, p0], [p0, i1], t)
- assert t.get_live_ranges(metainterp_sd) == [4, 4, 4, 4]
+ assert t.get_live_ranges() == [4, 4, 4, 4]
def test_deadranges(self):
i0, i1, i2 = IntFrontendOp(0), IntFrontendOp(0), IntFrontendOp(0)
- t = Trace([i0, i1, i2])
+ t = Trace([i0, i1, i2], metainterp_sd)
p0 = FakeOp(t.record_op(rop.NEW_WITH_VTABLE, [], descr=SomeDescr()))
t.record_op(rop.GUARD_TRUE, [i0])
resume.capture_resumedata([], [i1, i2, p0], [p0, i1], t)
@@ -203,4 +203,4 @@
t.record_op(rop.ESCAPE_N, [ConstInt(3)])
t.record_op(rop.ESCAPE_N, [ConstInt(3)])
t.record_op(rop.FINISH, [i4])
- assert t.get_dead_ranges(metainterp_sd) == [0, 0, 0, 0, 0, 3, 4, 5]
+ assert t.get_dead_ranges() == [0, 0, 0, 0, 0, 3, 4, 5]
diff --git a/rpython/jit/metainterp/test/test_pyjitpl.py
b/rpython/jit/metainterp/test/test_pyjitpl.py
--- a/rpython/jit/metainterp/test/test_pyjitpl.py
+++ b/rpython/jit/metainterp/test/test_pyjitpl.py
@@ -74,6 +74,7 @@
def test_remove_consts_and_duplicates():
class FakeStaticData:
cpu = None
+ all_descrs = []
warmrunnerdesc = None
def is_another_box_like(box, referencebox):
assert box is not referencebox
@@ -89,13 +90,13 @@
c3 = ConstInt(3)
boxes = [b1, b2, b1, c3]
dup = {}
- metainterp.history.set_inputargs([b1, b2])
+ metainterp.history.set_inputargs([b1, b2], FakeStaticData())
metainterp.remove_consts_and_duplicates(boxes, 4, dup)
assert boxes[0] is b1
assert boxes[1] is b2
assert is_another_box_like(boxes[2], b1)
assert is_another_box_like(boxes[3], c3)
- inp, operations = metainterp.history.trace.unpack(metainterp.staticdata)
+ inp, operations = metainterp.history.trace.unpack()
remap = dict(zip([b1, b2], inp))
assert equaloplists(operations, [
ResOperation(rop.SAME_AS_I, [b1]),
diff --git a/rpython/jit/metainterp/test/test_resume.py
b/rpython/jit/metainterp/test/test_resume.py
--- a/rpython/jit/metainterp/test/test_resume.py
+++ b/rpython/jit/metainterp/test/test_resume.py
@@ -536,6 +536,7 @@
class FakeMetaInterpStaticData:
cpu = LLtypeMixin.cpu
+ all_descrs = []
class options:
failargs_limit = 100
@@ -830,7 +831,8 @@
c1, c2, c3, c4 = [ConstInt(1), ConstInt(2), ConstInt(3), ConstInt(4)]
env = [b1, c1, b2, b1, c2]
- t = Trace([b1, b2, b3, b4, b5])
+ metainterp_sd = FakeMetaInterpStaticData()
+ t = Trace([b1, b2, b3, b4, b5], metainterp_sd)
snap = t.create_snapshot(FakeJitCode("jitcode", 0), 0, Frame(env), False)
env1 = [c3, b3, b1, c1]
t.append(0) # descr index
@@ -842,11 +844,10 @@
env3 = [c3, b3, b1, c3]
env4 = [c3, b4, b1, c3]
env5 = [b1, b4, b5]
- metainterp_sd = FakeMetaInterpStaticData()
memo = ResumeDataLoopMemo(metainterp_sd)
- iter = t.get_iter(metainterp_sd)
+ iter = t.get_iter()
b1, b2, b3, b4, b5 = iter.inputargs
numb, liveboxes, v = memo.number(FakeOptimizer(), 0, iter)
assert v == 0
@@ -934,10 +935,10 @@
min_size=1))
def test_ResumeDataLoopMemo_random(lst):
inpargs = [box for box in lst if not isinstance(box, Const)]
- t = Trace(inpargs)
+ metainterp_sd = FakeMetaInterpStaticData()
+ t = Trace(inpargs, metainterp_sd)
t.append(0)
- metainterp_sd = FakeMetaInterpStaticData()
- i = t.get_iter(metainterp_sd)
+ i = t.get_iter()
t.create_top_snapshot(FakeJitCode("", 0), 0, Frame(lst), False, [], [])
memo = ResumeDataLoopMemo(metainterp_sd)
num, liveboxes, v = memo.number(FakeOptimizer(), 0, i)
@@ -1036,7 +1037,8 @@
return newboxes
def make_storage(b1, b2, b3):
- t = Trace([box for box in [b1, b2, b3] if not isinstance(box, Const)])
+ t = Trace([box for box in [b1, b2, b3] if not isinstance(box, Const)],
+ FakeMetaInterpStaticData())
t.append(0)
storage = Storage()
snap1 = t.create_snapshot(FakeJitCode("code3", 41), 42,
@@ -1055,7 +1057,7 @@
storage, t = make_storage(b1s, b2s, b3s)
metainterp_sd = FakeMetaInterpStaticData()
memo = ResumeDataLoopMemo(metainterp_sd)
- i = t.get_iter(metainterp_sd)
+ i = t.get_iter()
modifier = ResumeDataVirtualAdder(FakeOptimizer(i), storage, storage, i,
memo)
liveboxes = modifier.finish(FakeOptimizer(i))
cpu = MyCPU([])
@@ -1073,7 +1075,7 @@
storage, t = make_storage(b1s, b2s, b3s)
metainterp_sd = FakeMetaInterpStaticData()
memo = ResumeDataLoopMemo(metainterp_sd)
- i = t.get_iter(metainterp_sd)
+ i = t.get_iter()
modifier = ResumeDataVirtualAdder(FakeOptimizer(i), storage, storage, i,
memo)
modifier.finish(FakeOptimizer(i))
assert len(memo.consts) == 2
@@ -1081,7 +1083,7 @@
b1s, b2s, b3s = [ConstInt(sys.maxint), ConstInt(2**17), ConstInt(-65)]
storage2, t = make_storage(b1s, b2s, b3s)
- i = t.get_iter(metainterp_sd)
+ i = t.get_iter()
modifier2 = ResumeDataVirtualAdder(FakeOptimizer(i), storage2, storage2,
i, memo)
modifier2.finish(FakeOptimizer(i))
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit