Author: Carl Friedrich Bolz <[email protected]>
Branch: value-profiling
Changeset: r79954:a891bd9b2efa
Date: 2015-10-03 15:38 +0100
http://bitbucket.org/pypy/pypy/changeset/a891bd9b2efa/
Log: more test_pypy_c fixes
diff --git a/pypy/module/pypyjit/test_pypy_c/test_misc.py
b/pypy/module/pypyjit/test_pypy_c/test_misc.py
--- a/pypy/module/pypyjit/test_pypy_c/test_misc.py
+++ b/pypy/module/pypyjit/test_pypy_c/test_misc.py
@@ -111,20 +111,16 @@
return sa
#
log = self.run(main, [1000])
- assert log.result == 4000
+ assert log.result == main(1000)
loop, = log.loops_by_filename(self.filepath)
assert loop.match("""
guard_not_invalidated(descr=...)
i12 = int_is_true(i4)
guard_true(i12, descr=...)
- i10p = getfield_gc_pure_i(p10, descr=...)
- i10 = int_mul_ovf(2, i10p)
+ i14 = int_add_ovf(i13, 2)
guard_no_overflow(descr=...)
- i14 = int_add_ovf(i13, i10)
+ i13 = int_add_ovf(i14, 2)
guard_no_overflow(descr=...)
- i13 = int_add_ovf(i14, i9)
- guard_no_overflow(descr=...)
- setfield_gc(p17, p10, descr=...)
i17 = int_sub_ovf(i4, 1)
guard_no_overflow(descr=...)
--TICK--
@@ -146,12 +142,12 @@
assert log.result == 1000 * 999 / 2
loop, = log.loops_by_filename(self.filepath)
assert loop.match("""
- guard_not_invalidated(descr=...)
i15 = int_lt(i10, i11)
guard_true(i15, descr=...)
i17 = int_add(i10, 1)
+ setfield_gc(p9, i17, descr=<.* .*W_XRangeIterator.inst_current .*>)
+ guard_not_invalidated(descr=...)
i18 = force_token()
- setfield_gc(p9, i17, descr=<.* .*W_XRangeIterator.inst_current .*>)
i21 = int_lt(i10, 0)
guard_false(i21, descr=...)
i22 = int_lt(i10, i14)
@@ -181,9 +177,9 @@
i16 = int_ge(i11, i12)
guard_false(i16, descr=...)
i20 = int_add(i11, 1)
- i21 = force_token()
setfield_gc(p4, i20, descr=<.*
.*W_AbstractSeqIterObject.inst_index .*>)
guard_not_invalidated?
+ i21 = force_token()
i88 = int_sub(i9, 1)
i25 = int_ge(i11, i9)
guard_false(i25, descr=...)
@@ -214,9 +210,9 @@
i17 = int_mul(i11, i14)
i18 = int_add(i15, i17)
i20 = int_add(i11, 1)
- i21 = force_token()
setfield_gc(p4, i20, descr=<.*
.*W_AbstractSeqIterObject.inst_index .*>)
guard_not_invalidated?
+ i19 = force_token()
i95 = int_sub(i9, 1)
i23 = int_lt(i18, 0)
guard_false(i23, descr=...)
@@ -270,16 +266,15 @@
guard_false(i16, descr=...)
p17 = getarrayitem_gc_r(p16, i12, descr=<ArrayP .>)
i19 = int_add(i12, 1)
+ i21 = getfield_gc_i(p17, descr=<FieldS .*W_Array.*.inst_len .*>)
setfield_gc(p9, i19, descr=<FieldS
.*W_AbstractSeqIterObject.inst_index .*>)
- guard_nonnull_class(p17, ..., descr=...)
- guard_not_invalidated?
- i21 = getfield_gc_i(p17, descr=<FieldS .*W_Array.*.inst_len .*>)
i23 = int_lt(0, i21)
guard_true(i23, descr=...)
i24 = getfield_gc_i(p17, descr=<FieldU .*W_ArrayTypei.inst_buffer
.*>)
i25 = getarrayitem_raw_i(i24, 0, descr=<.*>)
i27 = int_lt(1, i21)
guard_false(i27, descr=...)
+ guard_not_invalidated?
i28 = int_add_ovf(i10, i25)
guard_no_overflow(descr=...)
--TICK--
@@ -304,6 +299,7 @@
assert log.jit_summary.tracing_no == 1
loop, = log.loops_by_filename(self.filepath)
assert loop.match("""
+ guard_not_invalidated?
i11 = int_lt(i7, 300)
guard_true(i11, descr=...)
i12 = int_add_ovf(i8, i9)
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
@@ -24,9 +24,9 @@
assert log.result == 300
loop, = log.loops_by_filename(self.filepath)
assert loop.match("""
+ guard_not_invalidated(descr=...)
i14 = int_lt(i6, i9)
guard_true(i14, descr=...)
- guard_not_invalidated(descr=...)
i16 = int_eq(i6, %d)
guard_false(i16, descr=...)
i15 = int_mod(i6, i10)
@@ -64,9 +64,9 @@
assert log.result == main(1100)
loop, = log.loops_by_filename(self.filepath)
assert loop.match("""
+ guard_not_invalidated(descr=...)
i11 = int_lt(i6, i7)
guard_true(i11, descr=...)
- guard_not_invalidated(descr=...)
i13 = int_eq(i6, %d) # value provided below
guard_false(i13, descr=...)
i15 = int_mod(i6, 10)
@@ -105,9 +105,9 @@
assert log.result == main(1000)
loop, = log.loops_by_filename(self.filepath)
assert loop.match("""
+ guard_not_invalidated(descr=...)
i79 = int_gt(i74, 0)
guard_true(i79, descr=...)
- guard_not_invalidated(descr=...)
p80 = call_r(ConstClass(ll_int2dec__Signed), i74, descr=<Callr . i
EF=3>)
guard_no_exception(descr=...)
i85 = strlen(p80)
diff --git a/pypy/module/pypyjit/test_pypy_c/test_struct.py
b/pypy/module/pypyjit/test_pypy_c/test_struct.py
--- a/pypy/module/pypyjit/test_pypy_c/test_struct.py
+++ b/pypy/module/pypyjit/test_pypy_c/test_struct.py
@@ -30,7 +30,7 @@
# This could, of course stand some improvement, to remove all these
# arithmatic ops, but we've removed all the core overhead.
assert loop.match_by_id("struct", """
- guard_not_invalidated(descr=...)
+ guard_not_invalidated?
# struct.pack
%s
i11 = int_and(i4, 255)
@@ -67,7 +67,7 @@
loop, = log.loops_by_filename(self.filepath)
assert loop.match_by_id('struct', """
- guard_not_invalidated(descr=...)
+ guard_not_invalidated?
# struct.pack
%s
i11 = int_and(i4, 255)
diff --git a/pypy/module/pypyjit/test_pypy_c/test_thread.py
b/pypy/module/pypyjit/test_pypy_c/test_thread.py
--- a/pypy/module/pypyjit/test_pypy_c/test_thread.py
+++ b/pypy/module/pypyjit/test_pypy_c/test_thread.py
@@ -20,6 +20,7 @@
assert round(log.result, 6) == round(main(500), 6)
loop, = log.loops_by_filename(self.filepath)
assert loop.match("""
+ guard_not_invalidated(descr=...)
i2 = int_lt(i0, i1)
guard_true(i2, descr=...)
i3 = int_add(i0, 1)
@@ -40,12 +41,11 @@
assert round(log.result, 6) == round(main(500), 6)
loop, = log.loops_by_filename(self.filepath)
assert loop.match("""
+ guard_not_invalidated(descr=...)
i53 = int_lt(i48, i27)
guard_true(i53, descr=...)
- i54 = int_add_ovf(i48, i47)
- guard_no_overflow(descr=...)
+ i54 = int_add(i48, 1)
--TICK--
- i58 = arraylen_gc(p43, descr=...)
jump(..., descr=...)
""")
@@ -60,6 +60,7 @@
assert log.result == main(500)
loop, = log.loops_by_filename(self.filepath)
assert loop.match("""
+ guard_not_invalidated(descr=...)
i56 = int_gt(i44, 0)
guard_true(i56, descr=...)
p57 = force_token()
@@ -67,11 +68,11 @@
i58 = call_release_gil_i(0, _, i37, 1, descr=<Calli 4 ii EF=7>)
guard_not_forced(descr=...)
guard_no_exception(descr=...)
+ guard_not_invalidated(descr=...)
i58 = int_sub(i44, 1)
i59 = call_i(ConstClass(RPyThreadReleaseLock), i37, descr=<Calli . i
EF=2>)
i60 = int_is_true(i59)
guard_false(i60, descr=...)
- guard_not_invalidated(descr=...)
--TICK--
jump(..., descr=...)
""")
diff --git a/pypy/module/pypyjit/test_pypy_c/test_weakref.py
b/pypy/module/pypyjit/test_pypy_c/test_weakref.py
--- a/pypy/module/pypyjit/test_pypy_c/test_weakref.py
+++ b/pypy/module/pypyjit/test_pypy_c/test_weakref.py
@@ -23,19 +23,17 @@
i60 = int_lt(i58, i31)
guard_true(i60, descr=...)
i61 = int_add(i58, 1)
+ setfield_gc(p18, i61, descr=<FieldS
pypy.module.__builtin__.functional.W_XRangeIterator.inst_current 8>)
+ guard_not_invalidated(descr=...)
p62 = getfield_gc_r(ConstPtr(ptr37), descr=<FieldP
pypy.objspace.std.dictmultiobject.W_DictMultiObject.inst_strategy \d+>)
- setfield_gc(p18, i61, descr=<FieldS
pypy.module.__builtin__.functional.W_XRangeIterator.inst_current 8>)
guard_value(p62, ConstPtr(ptr39), descr=...)
- guard_not_invalidated(descr=...)
p64 = getfield_gc_r(ConstPtr(ptr40), descr=<FieldP
pypy.objspace.std.dictmultiobject.W_DictMultiObject.inst_strategy \d+>)
guard_value(p64, ConstPtr(ptr42), descr=...)
p65 = getfield_gc_r(p14, descr=<FieldP
pypy.objspace.std.mapdict.W_ObjectObjectSize5.inst_map \d+>)
guard_value(p65, ConstPtr(ptr45), descr=...)
- p66 = getfield_gc_r(p14, descr=<FieldP
pypy.objspace.std.mapdict.W_ObjectObjectSize5.inst__value0 \d+>)
- guard_nonnull_class(p66, ..., descr=...)
p67 = force_token()
setfield_gc(p0, p67, descr=<FieldP
pypy.interpreter.pyframe.PyFrame.vable_token \d+>)
- p68 =
call_may_force_r(ConstClass(WeakrefLifelineWithCallbacks.make_weakref_with_callback),
p66, ConstPtr(ptr50), p14, ConstPtr(ptr51), descr=<Callr \d rrrr EF=7>)
+ p68 =
call_may_force_r(ConstClass(WeakrefLifelineWithCallbacks.make_weakref_with_callback),
ConstPtr(ptr49), ConstPtr(ptr50), p14, ConstPtr(ptr51), descr=<Callr \d rrrr
EF=7>)
guard_not_forced(descr=...)
guard_no_exception(descr=...)
guard_nonnull_class(p68, ..., descr=...)
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit