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 pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit