Author: Carl Friedrich Bolz <cfb...@gmx.de> Branch: celldict-versions Changeset: r45341:d937d40615df Date: 2011-07-04 17:00 +0200 http://bitbucket.org/pypy/pypy/changeset/d937d40615df/
Log: fix pypy-c tests that changed due to the new way globals work diff --git a/pypy/module/pypyjit/test_pypy_c/test_array.py b/pypy/module/pypyjit/test_pypy_c/test_array.py --- a/pypy/module/pypyjit/test_pypy_c/test_array.py +++ b/pypy/module/pypyjit/test_pypy_c/test_array.py @@ -39,11 +39,12 @@ assert log.result == 19507200 loop, = log.loops_by_filename(self.filepath) assert loop.match(""" + guard_not_invalidated(descr=<Guard3>) i13 = int_lt(i7, i9) - guard_true(i13, descr=<Guard3>) + guard_true(i13, descr=<Guard4>) i15 = getarrayitem_raw(i10, i7, descr=<.*ArrayNoLengthDescr>) i16 = int_add_ovf(i8, i15) - guard_no_overflow(descr=<Guard4>) + guard_no_overflow(descr=<Guard5>) i18 = int_add(i7, 1) --TICK-- jump(p0, p1, p2, p3, p4, p5, i18, i16, p8, i9, i10, descr=<Loop0>) @@ -69,15 +70,16 @@ assert loop.match(""" i13 = int_lt(i8, 307200) guard_true(i13, descr=<Guard3>) + guard_not_invalidated(descr=<Guard4>) # the bound check guard on img has been killed (thanks to the asserts) i14 = getarrayitem_raw(i10, i8, descr=<.*ArrayNoLengthDescr>) i15 = int_add_ovf(i9, i14) - guard_no_overflow(descr=<Guard4>) + guard_no_overflow(descr=<Guard5>) i17 = int_sub(i8, 640) # the bound check guard on intimg has been killed (thanks to the asserts) i18 = getarrayitem_raw(i11, i17, descr=<.*ArrayNoLengthDescr>) i19 = int_add_ovf(i18, i15) - guard_no_overflow(descr=<Guard5>) + guard_no_overflow(descr=<Guard6>) # on 64bit, there is a guard checking that i19 actually fits into 32bit ... setarrayitem_raw(i11, i8, _, descr=<.*ArrayNoLengthDescr>) diff --git a/pypy/module/pypyjit/test_pypy_c/test_call.py b/pypy/module/pypyjit/test_pypy_c/test_call.py --- a/pypy/module/pypyjit/test_pypy_c/test_call.py +++ b/pypy/module/pypyjit/test_pypy_c/test_call.py @@ -66,33 +66,23 @@ ops = entry_bridge.ops_by_id('cond', opcode='LOAD_GLOBAL') assert log.opnames(ops) == ["guard_value", "getfield_gc", "guard_value", - "getfield_gc", "guard_value", - "getfield_gc", "guard_nonnull_class"] - # LOAD_GLOBAL of OFFSET but in different function partially folded - # away - # XXX could be improved + "getfield_gc", "guard_value"] ops = entry_bridge.ops_by_id('add', opcode='LOAD_GLOBAL') - assert log.opnames(ops) == ["guard_value", "getfield_gc", "guard_value"] + assert log.opnames(ops) == ["guard_not_invalidated"] # - # two LOAD_GLOBAL of f, the second is folded away ops = entry_bridge.ops_by_id('call', opcode='LOAD_GLOBAL') - assert log.opnames(ops) == ["getfield_gc", "guard_nonnull_class"] + assert log.opnames(ops) == ["guard_not_invalidated"] # assert entry_bridge.match_by_id('call', """ - p29 = getfield_gc(ConstPtr(ptr28), descr=<GcPtrFieldDescr pypy.objspace.std.celldict.ModuleCell.inst_w_value .*>) - guard_nonnull_class(p29, ConstClass(Function), descr=<Guard18>) - p33 = getfield_gc(p29, descr=<GcPtrFieldDescr pypy.interpreter.function.Function.inst_code .*>) - guard_value(p33, ConstPtr(ptr34), descr=<Guard19>) - p35 = getfield_gc(p29, descr=<GcPtrFieldDescr pypy.interpreter.function.Function.inst_w_func_globals .*>) - p36 = getfield_gc(p29, descr=<GcPtrFieldDescr pypy.interpreter.function.Function.inst_closure .*>) + guard_not_invalidated(descr=<Guard16>) p38 = call(ConstClass(getexecutioncontext), descr=<GcPtrCallDescr>) p39 = getfield_gc(p38, descr=<GcPtrFieldDescr pypy.interpreter.executioncontext.ExecutionContext.inst_topframeref .*>) i40 = force_token() p41 = getfield_gc(p38, descr=<GcPtrFieldDescr pypy.interpreter.executioncontext.ExecutionContext.inst_w_tracefunc .*>) - guard_isnull(p41, descr=<Guard20>) + guard_isnull(p41, descr=<Guard17>) i42 = getfield_gc(p38, descr=<NonGcPtrFieldDescr pypy.interpreter.executioncontext.ExecutionContext.inst_profilefunc .*>) i43 = int_is_zero(i42) - guard_true(i43, descr=<Guard21>) + guard_true(i43, descr=<Guard18>) i50 = force_token() """) # @@ -100,19 +90,16 @@ # ----------------------------- loop, = log.loops_by_id('call') assert loop.match(""" - i12 = int_lt(i5, i6) - guard_true(i12, descr=<Guard3>) + guard_not_invalidated(descr=<Guard3>) + i9 = int_lt(i5, i6) + guard_true(i9, descr=<Guard4>) + i10 = force_token() + i12 = int_add(i5, 1) i13 = force_token() - i15 = int_add(i5, 1) - i16 = int_add_ovf(i15, i7) - guard_no_overflow(descr=<Guard4>) - i18 = force_token() - i20 = int_add_ovf(i16, 1) + i15 = int_add_ovf(i12, 1) guard_no_overflow(descr=<Guard5>) - i21 = int_add_ovf(i20, i7) - guard_no_overflow(descr=<Guard6>) --TICK-- - jump(p0, p1, p2, p3, p4, i21, i6, i7, p8, p9, p10, p11, descr=<Loop0>) + jump(p0, p1, p2, p3, p4, i15, i6, p7, p8, descr=<Loop0>) """) def test_method_call(self): @@ -281,32 +268,30 @@ loop0, = log.loops_by_id('g1') assert loop0.match_by_id('g1', """ i20 = force_token() - setfield_gc(p4, i19, descr=<.*W_AbstractSeqIterObject.inst_index .*>) i22 = int_add_ovf(i8, 3) - guard_no_overflow(descr=<Guard4>) + guard_no_overflow(descr=<Guard5>) """) assert loop0.match_by_id('h1', """ i20 = force_token() i22 = int_add_ovf(i8, 2) - guard_no_overflow(descr=<Guard5>) + guard_no_overflow(descr=<Guard6>) """) assert loop0.match_by_id('g2', """ i27 = force_token() i29 = int_add_ovf(i26, 3) - guard_no_overflow(descr=<Guard6>) + guard_no_overflow(descr=<Guard7>) """) # loop1, = log.loops_by_id('g3') assert loop1.match_by_id('g3', """ i21 = force_token() - setfield_gc(p4, i20, descr=<.* .*W_AbstractSeqIterObject.inst_index .*>) i23 = int_add_ovf(i9, 3) - guard_no_overflow(descr=<Guard37>) + guard_no_overflow(descr=<Guard41>) """) assert loop1.match_by_id('h2', """ i25 = force_token() i27 = int_add_ovf(i23, 2) - guard_no_overflow(descr=<Guard38>) + guard_no_overflow(descr=<Guard42>) """) def test_stararg(self): @@ -405,8 +390,8 @@ assert loop.match(""" i10 = int_lt(i5, i6) guard_true(i10, descr=<Guard3>) + guard_not_invalidated(descr=<Guard4>) i120 = int_add(i5, 1) - guard_not_invalidated(descr=<Guard4>) --TICK-- jump(..., descr=<Loop0>) """) diff --git a/pypy/module/pypyjit/test_pypy_c/test_import.py b/pypy/module/pypyjit/test_pypy_c/test_import.py --- a/pypy/module/pypyjit/test_pypy_c/test_import.py +++ b/pypy/module/pypyjit/test_pypy_c/test_import.py @@ -15,13 +15,9 @@ assert log.result == 500 loop, = log.loops_by_id('import') assert loop.match_by_id('import', """ - p11 = getfield_gc(ConstPtr(ptr10), descr=<GcPtrFieldDescr pypy.objspace.std.celldict.ModuleCell.inst_w_value 8>) - guard_value(p11, ConstPtr(ptr12), descr=<Guard4>) - guard_not_invalidated(descr=<Guard5>) - p14 = getfield_gc(ConstPtr(ptr13), descr=<GcPtrFieldDescr pypy.objspace.std.celldict.ModuleCell.inst_w_value 8>) - p16 = getfield_gc(ConstPtr(ptr15), descr=<GcPtrFieldDescr pypy.objspace.std.celldict.ModuleCell.inst_w_value 8>) - guard_value(p14, ConstPtr(ptr17), descr=<Guard6>) - guard_isnull(p16, descr=<Guard7>) + guard_not_invalidated(descr=<Guard4>) + p10 = getfield_gc(ConstPtr(ptr9), descr=<GcPtrFieldDescr pypy.objspace.std.celldict.ModuleCell.inst_w_value 8>) + guard_value(p10, ConstPtr(ptr11), descr=<Guard5>) """) def test_import_fast_path(self, tmpdir): diff --git a/pypy/module/pypyjit/test_pypy_c/test_instance.py b/pypy/module/pypyjit/test_pypy_c/test_instance.py --- a/pypy/module/pypyjit/test_pypy_c/test_instance.py +++ b/pypy/module/pypyjit/test_pypy_c/test_instance.py @@ -52,7 +52,7 @@ i10 = int_add_ovf(i5, i7) guard_no_overflow(descr=<Guard5>) --TICK-- - jump(p0, p1, p2, p3, p4, i10, i6, p7, i7, p8, descr=<Loop0>) + jump(p0, p1, p2, p3, p4, i10, i6, i7, p8, descr=<Loop0>) """) def test_getattr_with_dynamic_attribute(self): @@ -118,7 +118,7 @@ i9 = int_lt(i7, i8) guard_true(i9, descr=.*) guard_not_invalidated(descr=.*) - i11 = int_add(i8, 1) + i11 = int_add(i7, 1) i12 = force_token() --TICK-- p20 = new_with_vtable(ConstClass(W_IntObject)) diff --git a/pypy/module/pypyjit/test_pypy_c/test_min_max.py b/pypy/module/pypyjit/test_pypy_c/test_min_max.py --- a/pypy/module/pypyjit/test_pypy_c/test_min_max.py +++ b/pypy/module/pypyjit/test_pypy_c/test_min_max.py @@ -17,6 +17,7 @@ assert loop.match(""" i7 = int_lt(i4, 300) guard_true(i7, descr=...) + guard_not_invalidated(descr=...) i9 = int_add_ovf(i5, 3000) guard_no_overflow(descr=...) i11 = int_add(i4, 1) diff --git a/pypy/module/pypyjit/test_pypy_c/test_string.py b/pypy/module/pypyjit/test_pypy_c/test_string.py --- a/pypy/module/pypyjit/test_pypy_c/test_string.py +++ b/pypy/module/pypyjit/test_pypy_c/test_string.py @@ -16,27 +16,27 @@ loop, = log.loops_by_filename(self.filepath) assert loop.match(""" i14 = int_lt(i6, i9) - guard_true(i14, descr=<Guard42>) + guard_true(i14, descr=...) + guard_not_invalidated(descr=...) i15 = int_mod(i6, i10) i17 = int_rshift(i15, 63) i18 = int_and(i10, i17) i19 = int_add(i15, i18) i21 = int_lt(i19, 0) - guard_false(i21, descr=<Guard43>) + guard_false(i21, descr=...) i22 = int_ge(i19, i10) - guard_false(i22, descr=<Guard44>) + guard_false(i22, descr=...) i23 = strgetitem(p11, i19) i24 = int_ge(i19, i12) - guard_false(i24, descr=<Guard45>) + guard_false(i24, descr=...) i25 = unicodegetitem(p13, i19) - guard_not_invalidated(descr=<Guard46>) p27 = newstr(1) strsetitem(p27, 0, i23) - p30 = call(ConstClass(ll_str2unicode__rpy_stringPtr), p27, descr=<GcPtrCallDescr>) - guard_no_exception(descr=<Guard47>) - i32 = call(ConstClass(_ll_2_str_eq_checknull_char__rpy_unicodePtr_UniChar), p30, i25, descr=<SignedCallDescr>) - guard_true(i32, descr=<Guard48>) + p30 = call(ConstClass(ll_str2unicode__rpy_stringPtr), p27, descr=...) + guard_no_exception(descr=...) + i32 = call(ConstClass(_ll_2_str_eq_checknull_char__rpy_unicodePtr_UniChar), p30, i25, descr=...) + guard_true(i32, descr=...) i34 = int_add(i6, 1) --TICK-- jump(p0, p1, p2, p3, p4, p5, i34, p7, p8, i9, i10, p11, i12, p13, descr=<Loop4>) - """) \ No newline at end of file + """) _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit