Author: Armin Rigo <ar...@tunes.org> Branch: Changeset: r95388:6ee30aff8e5c Date: 2018-11-30 10:10 +0200 http://bitbucket.org/pypy/pypy/changeset/6ee30aff8e5c/
Log: Skip the test as showing an unrelated and maybe not fatal problem. Add a new test that really shows the problem, unless I'm confused again. diff --git a/rpython/jit/metainterp/optimizeopt/test/test_optimizeopt.py b/rpython/jit/metainterp/optimizeopt/test/test_optimizeopt.py --- a/rpython/jit/metainterp/optimizeopt/test/test_optimizeopt.py +++ b/rpython/jit/metainterp/optimizeopt/test/test_optimizeopt.py @@ -9499,5 +9499,116 @@ """ self.optimize_loop(ops, expected) + def test_issue2904(self): + py.test.skip("XXX issue 2904") + ops = """ + [p0, p1, p2, p3, p4, i5, p6, i7, p8, p9, p10, p11, p12, p13] + debug_merge_point(0, 0, '<code object f. file 'z.py'. line 4> #36 LOAD_FAST') + guard_value(i5, 4) [] + guard_isnull(p3) [] + guard_nonnull(p11) [] + debug_merge_point(0, 0, '<code object f. file 'z.py'. line 4> #39 LOAD_CONST') + guard_value(p2, ConstPtr(myptr)) [] + debug_merge_point(0, 0, '<code object f. file 'z.py'. line 4> #42 COMPARE_OP') + guard_class(p11, ConstClass(intobj_immut_vtable)) [] + i17 = getfield_gc_i(p11, descr=immut_intval) + i19 = int_gt(i17, 0) + guard_false(i19) [] + debug_merge_point(0, 0, '<code object f. file 'z.py'. line 4> #45 POP_JUMP_IF_FALSE') + debug_merge_point(0, 0, '<code object f. file 'z.py'. line 4> #71 POP_BLOCK') + p20 = getfield_gc_r(p4, descr=nextdescr3) + i21 = getfield_gc_i(p4, descr=valuedescr3) + guard_value(i21, 4) [] + debug_merge_point(0, 0, '<code object f. file 'z.py'. line 4> #72 LOAD_FAST') + guard_nonnull(p10) [] + debug_merge_point(0, 0, '<code object f. file 'z.py'. line 4> #75 LOAD_CONST') + debug_merge_point(0, 0, '<code object f. file 'z.py'. line 4> #78 INPLACE_ADD') + guard_class(p10, ConstClass(intobj_immut_vtable)) [] + i24 = getfield_gc_i(p10, descr=immut_intval) + i26 = int_add_ovf(i24, 1) + guard_no_overflow() [] + p27 = new_with_vtable(descr=immut_descr) + setfield_gc(p27, i26, descr=immut_intval) + debug_merge_point(0, 0, '<code object f. file 'z.py'. line 4> #79 STORE_FAST') + debug_merge_point(0, 0, '<code object f. file 'z.py'. line 4> #82 JUMP_ABSOLUTE') + quasiimmut_field(ConstPtr(quasiptr), descr=quasiimmutdescr) + guard_not_invalidated() [] + i30 = getfield_raw_i(140031323711392, descr=adescr) + i32 = int_lt(i30, 0) + guard_false(i32) [] + debug_merge_point(0, 0, '<code object f. file 'z.py'. line 4> #15 LOAD_FAST') + p34 = same_as_r(ConstPtr(tupleaddr)) + p36 = same_as_r(ConstPtr(nullptr)) + i38 = same_as_i(4) + i40 = same_as_i(15) + p42 = same_as_r(ConstPtr(nullptr)) + p44 = same_as_r(ConstPtr(nullptr)) + guard_future_condition() [] + guard_value(i38, 4) [] + guard_isnull(p36) [] + guard_nonnull(p27) [] + debug_merge_point(0, 0, '<code object f. file 'z.py'. line 4> #18 LOAD_CONST') + guard_value(p34, ConstPtr(tupleaddr)) [] + debug_merge_point(0, 0, '<code object f. file 'z.py'. line 4> #21 COMPARE_OP') + guard_class(p27, ConstClass(intobj_immut_vtable)) [] + i48 = getfield_gc_i(p27, descr=immut_intval) + i50 = int_lt(i48, 60000) + guard_true(i50) [] + debug_merge_point(0, 0, '<code object f. file 'z.py'. line 4> #24 POP_JUMP_IF_FALSE') + debug_merge_point(0, 0, '<code object f. file 'z.py'. line 4> #27 LOAD_FAST') + guard_nonnull(p8) [] + debug_merge_point(0, 0, '<code object f. file 'z.py'. line 4> #30 STORE_FAST') + debug_merge_point(0, 0, '<code object f. file 'z.py'. line 4> #33 SETUP_LOOP') + p51 = new_with_vtable(descr=nodesize) + setfield_gc(p51, 72, descr=valuedescr3) + setfield_gc(p51, 4, descr=immut_intval) + setfield_gc(p51, p20, descr=nextdescr3) + debug_merge_point(0, 0, '<code object f. file 'z.py'. line 4> #36 LOAD_FAST') + debug_merge_point(0, 0, '<code object f. file 'z.py'. line 4> #39 LOAD_CONST') + debug_merge_point(0, 0, '<code object f. file 'z.py'. line 4> #42 COMPARE_OP') + guard_class(p8, ConstClass(intobj_immut_vtable)) [] + i55 = getfield_gc_i(p8, descr=immut_intval) + i57 = int_gt(i55, 0) + guard_true(i57) [] + debug_merge_point(0, 0, '<code object f. file 'z.py'. line 4> #45 POP_JUMP_IF_FALSE') + debug_merge_point(0, 0, '<code object f. file 'z.py'. line 4> #48 LOAD_FAST') + debug_merge_point(0, 0, '<code object f. file 'z.py'. line 4> #51 LOAD_CONST') + debug_merge_point(0, 0, '<code object f. file 'z.py'. line 4> #54 INPLACE_SUBTRACT') + i59 = int_sub_ovf(i55, 1) + guard_no_overflow() [] + p60 = new_with_vtable(descr=immut_descr) + setfield_gc(p60, i59, descr=immut_intval) + debug_merge_point(0, 0, '<code object f. file 'z.py'. line 4> #55 STORE_FAST') + debug_merge_point(0, 0, '<code object f. file 'z.py'. line 4> #58 LOAD_FAST') + guard_nonnull(p9) [] + debug_merge_point(0, 0, '<code object f. file 'z.py'. line 4> #61 LOAD_CONST') + debug_merge_point(0, 0, '<code object f. file 'z.py'. line 4> #64 INPLACE_ADD') + guard_class(p9, ConstClass(intobj_immut_vtable)) [] + i62 = getfield_gc_i(p9, descr=immut_intval) + i64 = int_add_ovf(i62, 1) + guard_no_overflow() [] + p65 = new_with_vtable(descr=immut_descr) + setfield_gc(p65, i64, descr=immut_intval) + debug_merge_point(0, 0, '<code object f. file 'z.py'. line 4> #65 STORE_FAST') + debug_merge_point(0, 0, '<code object f. file 'z.py'. line 4> #68 JUMP_ABSOLUTE') + quasiimmut_field(ConstPtr(quasiptr), descr=quasiimmutdescr) + guard_not_invalidated() [] + i68 = getfield_raw_i(140031323711392, descr=adescr) + i70 = int_lt(i68, 0) + guard_false(i70) [] + debug_merge_point(0, 0, '<code object f. file 'z.py'. line 4> #36 LOAD_FAST') + p72 = same_as_r(ConstPtr(myptr)) + p74 = same_as_r(ConstPtr(nullptr)) + i76 = same_as_i(4) + i78 = same_as_i(36) + p80 = same_as_r(ConstPtr(nullptr)) + p82 = same_as_r(ConstPtr(nullptr)) + guard_future_condition() [] + jump(p0, p1, p72, p74, p51, i76, p6, i78, p8, p65, p27, p60, p80, p82, descr=<Loop-1>) + """ + # expected = a loop that does NOT end up passing the constant 0 in the final jump() + self.optimize_loop(ops, ops, + jump_values=[None] * 14) + class TestLLtype(OptimizeOptTest, LLtypeMixin): pass diff --git a/rpython/jit/metainterp/test/test_ajit.py b/rpython/jit/metainterp/test/test_ajit.py --- a/rpython/jit/metainterp/test/test_ajit.py +++ b/rpython/jit/metainterp/test/test_ajit.py @@ -4702,7 +4702,8 @@ res = self.meta_interp(f, [10]) assert res == f(10) - def test_issue2904(self): + def test_cached_info_missing(self): + py.test.skip("XXX hitting a non-translated assert in optimizeopt/heap.py, but seems not to hurt the rest") driver = JitDriver(greens = [], reds=['iterations', 'total', 'c', 'height', 'h']) _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit