Author: Carl Friedrich Bolz <cfb...@gmx.de>
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
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to