[pypy-svn] r78543 - pypy/branch/jit-unroll-loops/pypy/jit/metainterp/test
cfbolz at codespeak.net
cfbolz at codespeak.net
Sat Oct 30 18:21:49 CEST 2010
Author: cfbolz
Date: Sat Oct 30 18:21:45 2010
New Revision: 78543
Modified:
pypy/branch/jit-unroll-loops/pypy/jit/metainterp/test/test_optimizeopt.py
Log:
(arigo, cfbolz): remove spectext everywhere in test_optimizeopt
Modified: pypy/branch/jit-unroll-loops/pypy/jit/metainterp/test/test_optimizeopt.py
==============================================================================
--- pypy/branch/jit-unroll-loops/pypy/jit/metainterp/test/test_optimizeopt.py (original)
+++ pypy/branch/jit-unroll-loops/pypy/jit/metainterp/test/test_optimizeopt.py Sat Oct 30 18:21:45 2010
@@ -64,7 +64,7 @@
assert equaloplists(optimized.operations,
expected.operations, False, remap)
- def optimize_loop(self, ops, spectext, optops, expected_preamble=None):
+ def optimize_loop(self, ops, optops, expected_preamble=None):
loop = self.parse(ops)
expected = self.parse(optops)
if expected_preamble:
@@ -128,7 +128,7 @@
escape(f)
jump()
"""
- self.optimize_loop(ops, '', ops)
+ self.optimize_loop(ops, ops)
def test_constant_propagate(self):
ops = """
@@ -145,7 +145,7 @@
[]
jump()
"""
- self.optimize_loop(ops, '', expected)
+ self.optimize_loop(ops, expected)
def test_constant_propagate_ovf(self):
ops = """
@@ -163,7 +163,7 @@
[]
jump()
"""
- self.optimize_loop(ops, '', expected)
+ self.optimize_loop(ops, expected)
def test_constfold_all(self):
from pypy.jit.backend.llgraph.llimpl import TYPES # xxx fish
@@ -197,7 +197,7 @@
escape(%d)
jump()
""" % expected_value
- self.optimize_loop(ops, '', expected)
+ self.optimize_loop(ops, expected)
# ----------
@@ -217,7 +217,7 @@
[p0]
jump(p0)
"""
- self.optimize_loop(ops, 'Not', expected, expected_preamble=preamble)
+ self.optimize_loop(ops, expected, expected_preamble=preamble)
def test_remove_guard_class_2(self):
ops = """
@@ -233,7 +233,7 @@
escape(p0)
jump(i0)
"""
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
def test_remove_guard_class_constant(self):
ops = """
@@ -246,7 +246,7 @@
[i0]
jump(i0)
"""
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
def test_constant_boolrewrite_lt(self):
ops = """
@@ -267,7 +267,7 @@
[i0]
jump(i0)
"""
- self.optimize_loop(ops, 'Not', expected, expected_preamble=preamble)
+ self.optimize_loop(ops, expected, expected_preamble=preamble)
def test_constant_boolrewrite_gt(self):
ops = """
@@ -288,7 +288,7 @@
[i0]
jump(i0)
"""
- self.optimize_loop(ops, 'Not', expected, expected_preamble=preamble)
+ self.optimize_loop(ops, expected, expected_preamble=preamble)
def test_constant_boolrewrite_reflex(self):
ops = """
@@ -309,7 +309,7 @@
[i0]
jump(i0)
"""
- self.optimize_loop(ops, 'Not', expected, expected_preamble=preamble)
+ self.optimize_loop(ops, expected, expected_preamble=preamble)
def test_constant_boolrewrite_reflex_invers(self):
ops = """
@@ -330,7 +330,7 @@
[i0]
jump(i0)
"""
- self.optimize_loop(ops, 'Not', expected, expected_preamble=preamble)
+ self.optimize_loop(ops, expected, expected_preamble=preamble)
def test_remove_consecutive_guard_value_constfold(self):
ops = """
@@ -350,7 +350,7 @@
escape(3)
jump()
"""
- self.optimize_loop(ops, '', expected)
+ self.optimize_loop(ops, expected)
def test_remove_guard_value_if_constant(self):
ops = """
@@ -362,7 +362,7 @@
[]
jump()
"""
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
def test_ooisnull_oononnull_1(self):
ops = """
@@ -380,7 +380,7 @@
[p0]
jump(p0)
"""
- self.optimize_loop(ops, 'Not', expected, preamble)
+ self.optimize_loop(ops, expected, preamble)
def test_int_is_true_1(self):
ops = """
@@ -401,7 +401,7 @@
[i0]
jump(i0)
"""
- self.optimize_loop(ops, 'Not', expected, preamble)
+ self.optimize_loop(ops, expected, preamble)
def test_int_is_true_is_zero(self):
py.test.skip("XXX implement me")
@@ -419,7 +419,7 @@
guard_true(i1) []
jump(i0)
"""
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
def test_ooisnull_oononnull_2(self):
ops = """
@@ -437,7 +437,7 @@
[p0]
jump(p0)
"""
- self.optimize_loop(ops, 'Not', expected, preamble)
+ self.optimize_loop(ops, expected, preamble)
def test_ooisnull_on_null_ptr_1(self):
ops = """
@@ -453,7 +453,7 @@
guard_isnull(p0) []
jump()
"""
- self.optimize_loop(ops, '', expected)
+ self.optimize_loop(ops, expected)
def test_ooisnull_oononnull_via_virtual(self):
ops = """
@@ -474,7 +474,7 @@
[p0]
jump(p0)
"""
- self.optimize_loop(ops, 'Not', expected, preamble)
+ self.optimize_loop(ops, expected, preamble)
def test_oois_1(self):
ops = """
@@ -499,7 +499,7 @@
[p0]
jump(p0)
"""
- self.optimize_loop(ops, 'Not', expected, preamble)
+ self.optimize_loop(ops, expected, preamble)
def test_nonnull_1(self):
ops = """
@@ -521,7 +521,7 @@
setfield_gc(p0, 5, descr=valuedescr)
jump(p0)
"""
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
def test_const_guard_value(self):
ops = """
@@ -534,7 +534,7 @@
[]
jump()
"""
- self.optimize_loop(ops, '', expected)
+ self.optimize_loop(ops, expected)
def test_constptr_guard_value(self):
ops = """
@@ -543,7 +543,7 @@
guard_value(p1, ConstPtr(myptr)) []
jump()
"""
- self.optimize_loop(ops, '', ops)
+ self.optimize_loop(ops, ops)
def test_guard_value_to_guard_true(self):
ops = """
@@ -562,7 +562,7 @@
[i]
jump(i)
"""
- self.optimize_loop(ops, 'Not', expected, preamble)
+ self.optimize_loop(ops, expected, preamble)
def test_guard_value_to_guard_false(self):
ops = """
@@ -581,7 +581,7 @@
[i]
jump(i)
"""
- self.optimize_loop(ops, 'Not', expected, preamble)
+ self.optimize_loop(ops, expected, preamble)
def test_guard_value_on_nonbool(self):
ops = """
@@ -600,7 +600,7 @@
[]
jump()
"""
- self.optimize_loop(ops, 'Not', expected, preamble)
+ self.optimize_loop(ops, expected, preamble)
def test_int_is_true_of_bool(self):
ops = """
@@ -621,7 +621,7 @@
[i0, i1]
jump(i0, i1)
"""
- self.optimize_loop(ops, 'Not, Not', expected, preamble)
+ self.optimize_loop(ops, expected, preamble)
@@ -650,7 +650,7 @@
jump(i1, p3)
"""
# We cannot track virtuals that survive for more than two iterations.
- self.optimize_loop(ops, 'Not, Not, Not', expected, preamble)
+ self.optimize_loop(ops, expected, preamble)
def test_p123_nested(self):
ops = """
@@ -683,7 +683,7 @@
setfield_gc(p4, p1sub, descr=nextdescr)
jump(i1, p4)
"""
- self.optimize_loop(ops, 'Not, Not, Not', expected, preamble)
+ self.optimize_loop(ops, expected, preamble)
def test_p123_anti_nested(self):
ops = """
@@ -719,7 +719,7 @@
setfield_gc(p1, p3sub, descr=nextdescr)
jump(i1, p1, p3sub)
"""
- self.optimize_loop(ops, 'Not, Not, Not', expected, preamble)
+ self.optimize_loop(ops, expected, preamble)
# ----------
@@ -743,7 +743,7 @@
i3 = call(i2, descr=nonwritedescr)
jump(i1)
"""
- self.optimize_loop(ops, 'Not', expected, expected)
+ self.optimize_loop(ops, expected, expected)
# ----------
@@ -772,7 +772,7 @@
[i1]
jump(i1)
"""
- self.optimize_loop(ops, 'Not', expected, preamble)
+ self.optimize_loop(ops, expected, preamble)
# ----------
@@ -797,7 +797,7 @@
i1 = int_add(i2, i)
jump(i, i1)
"""
- self.optimize_loop(ops, 'Not, Not', expected, preamble)
+ self.optimize_loop(ops, expected, preamble)
def test_virtual_float(self):
ops = """
@@ -819,7 +819,7 @@
f1 = float_add(f2, f)
jump(f, f1)
"""
- self.optimize_loop(ops, 'Not, Not', expected, preamble)
+ self.optimize_loop(ops, expected, preamble)
def test_virtual_oois(self):
ops = """
@@ -867,7 +867,7 @@
guard_true(i11) []
jump(p0, p1, p2)
"""
- self.optimize_loop(ops, 'Not, Not, Not', expected, expected2)
+ self.optimize_loop(ops, expected, expected2)
def test_virtual_default_field(self):
ops = """
@@ -888,7 +888,7 @@
[]
jump()
"""
- self.optimize_loop(ops, 'Not', expected, preamble)
+ self.optimize_loop(ops, expected, preamble)
def test_virtual_3(self):
ops = """
@@ -904,7 +904,7 @@
i1 = int_add(i, 1)
jump(i1)
"""
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
def test_virtual_4(self):
ops = """
@@ -931,7 +931,7 @@
i3 = int_add(i0, i1)
jump(i3, i2)
"""
- self.optimize_loop(ops, 'Not, Not', expected, preamble)
+ self.optimize_loop(ops, expected, preamble)
def test_virtual_5(self):
ops = """
@@ -961,7 +961,7 @@
i3 = int_add(i0, i1)
jump(i3, i2, i1)
"""
- self.optimize_loop(ops, 'Not, Not', expected, preamble)
+ self.optimize_loop(ops, expected, preamble)
def test_virtual_constant_isnull(self):
ops = """
@@ -980,7 +980,7 @@
[]
jump()
"""
- self.optimize_loop(ops, 'Not', expected, preamble)
+ self.optimize_loop(ops, expected, preamble)
def test_virtual_constant_isnonnull(self):
@@ -1000,7 +1000,7 @@
[]
jump()
"""
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
def test_nonvirtual_1(self):
ops = """
@@ -1022,7 +1022,7 @@
escape(p1)
jump(i1)
"""
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
def test_nonvirtual_2(self):
ops = """
@@ -1049,7 +1049,7 @@
i2 = int_add(i1, i)
jump(i, i2)
"""
- self.optimize_loop(ops, 'Not, Not', expected, preamble)
+ self.optimize_loop(ops, expected, preamble)
def test_nonvirtual_later(self):
ops = """
@@ -1071,7 +1071,7 @@
i3 = int_add(i, i2)
jump(i3)
"""
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
def test_nonvirtual_dont_write_null_fields_on_force(self):
ops = """
@@ -1091,7 +1091,7 @@
i2 = getfield_gc(p1, descr=valuedescr)
jump(i2)
"""
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
def test_getfield_gc_pure_1(self):
ops = """
@@ -1105,7 +1105,7 @@
[i]
jump(i)
"""
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
def test_getfield_gc_pure_2(self):
ops = """
@@ -1118,7 +1118,7 @@
jump()
"""
self.node.value = 5
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
def test_getfield_gc_nonpure_2(self):
ops = """
@@ -1131,7 +1131,7 @@
[i]
jump(i)
"""
- self.optimize_loop(ops, 'Not', expected, preamble)
+ self.optimize_loop(ops, expected, preamble)
def test_varray_1(self):
ops = """
@@ -1148,7 +1148,7 @@
[i1]
jump(i1)
"""
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
def test_varray_alloc_and_set(self):
ops = """
@@ -1166,7 +1166,7 @@
[]
jump()
"""
- self.optimize_loop(ops, 'Not', expected, preamble)
+ self.optimize_loop(ops, expected, preamble)
def test_varray_float(self):
ops = """
@@ -1183,7 +1183,7 @@
[f1]
jump(f1)
"""
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
def test_array_non_optimized(self):
ops = """
@@ -1199,7 +1199,7 @@
p1 = new_array(i1, descr=arraydescr)
jump(i1, p1)
"""
- self.optimize_loop(ops, 'Not, Not', expected)
+ self.optimize_loop(ops, expected)
def test_nonvirtual_array_dont_write_null_fields_on_force(self):
ops = """
@@ -1217,7 +1217,7 @@
escape(p1)
jump(i1)
"""
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
def test_varray_2(self):
ops = """
@@ -1245,7 +1245,7 @@
guard_value(i3, 15) []
jump(5)
"""
- self.optimize_loop(ops, 'Not, Not', expected, preamble)
+ self.optimize_loop(ops, expected, preamble)
def test_p123_array(self):
ops = """
@@ -1271,7 +1271,7 @@
jump(i1, p1)
"""
# We cannot track virtuals that survive for more than two iterations.
- self.optimize_loop(ops, 'Not, Not, Not', expected, preamble)
+ self.optimize_loop(ops, expected, preamble)
def test_varray_forced_1(self):
ops = """
@@ -1293,7 +1293,7 @@
escape(i2)
jump()
"""
- self.optimize_loop(ops, '', expected)
+ self.optimize_loop(ops, expected)
def test_vstruct_1(self):
ops = """
@@ -1315,7 +1315,7 @@
escape(i1)
jump(i1)
"""
- self.optimize_loop(ops, 'Not, Not', expected, preamble)
+ self.optimize_loop(ops, expected, preamble)
def test_p123_vstruct(self):
ops = """
@@ -1341,7 +1341,7 @@
jump(i1, p1)
"""
# We cannot track virtuals that survive for more than two iterations.
- self.optimize_loop(ops, 'Not, Not, Not', expected, preamble)
+ self.optimize_loop(ops, expected, preamble)
def test_duplicate_getfield_1(self):
ops = """
@@ -1366,7 +1366,7 @@
escape(i2)
jump(p1, p2)
"""
- self.optimize_loop(ops, 'Not, Not', expected)
+ self.optimize_loop(ops, expected)
def test_getfield_after_setfield(self):
ops = """
@@ -1382,7 +1382,7 @@
escape(i1)
jump(p1, i1)
"""
- self.optimize_loop(ops, 'Not, Not', expected)
+ self.optimize_loop(ops, expected)
def test_setfield_of_different_type_does_not_clear(self):
ops = """
@@ -1400,7 +1400,7 @@
escape(i1)
jump(p1, p2, i1)
"""
- self.optimize_loop(ops, 'Not, Not, Not', expected)
+ self.optimize_loop(ops, expected)
def test_setfield_of_same_type_clears(self):
ops = """
@@ -1411,7 +1411,7 @@
escape(i3)
jump(p1, p2, i1, i3)
"""
- self.optimize_loop(ops, 'Not, Not, Not, Not', ops)
+ self.optimize_loop(ops, ops)
def test_duplicate_getfield_mergepoint_has_no_side_effects(self):
ops = """
@@ -1431,7 +1431,7 @@
escape(i1)
jump(p1)
"""
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
def test_duplicate_getfield_ovf_op_does_not_clear(self):
ops = """
@@ -1453,7 +1453,7 @@
escape(i1)
jump(p1)
"""
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
def test_duplicate_getfield_setarrayitem_does_not_clear(self):
ops = """
@@ -1473,7 +1473,7 @@
escape(i1)
jump(p1, p2)
"""
- self.optimize_loop(ops, 'Not, Not', expected)
+ self.optimize_loop(ops, expected)
def test_duplicate_getfield_constant(self):
ops = """
@@ -1491,7 +1491,7 @@
escape(i1)
jump()
"""
- self.optimize_loop(ops, '', expected)
+ self.optimize_loop(ops, expected)
def test_duplicate_getfield_guard_value_const(self):
ops = """
@@ -1510,7 +1510,7 @@
escape(i1)
jump()
"""
- self.optimize_loop(ops, 'Constant(myptr)', expected)
+ self.optimize_loop(ops, expected)
def test_duplicate_getfield_sideeffects_1(self):
ops = """
@@ -1522,7 +1522,7 @@
escape(i2)
jump(p1)
"""
- self.optimize_loop(ops, 'Not', ops)
+ self.optimize_loop(ops, ops)
def test_duplicate_getfield_sideeffects_2(self):
ops = """
@@ -1533,7 +1533,7 @@
escape(i2)
jump(p1, i1)
"""
- self.optimize_loop(ops, 'Not, Not', ops)
+ self.optimize_loop(ops, ops)
def test_duplicate_setfield_1(self):
ops = """
@@ -1547,7 +1547,7 @@
setfield_gc(p1, i2, descr=valuedescr)
jump(p1, i1, i2)
"""
- self.optimize_loop(ops, 'Not, Not, Not', expected)
+ self.optimize_loop(ops, expected)
def test_duplicate_setfield_2(self):
ops = """
@@ -1564,7 +1564,7 @@
escape(i1)
jump(p1, i1, i3)
"""
- self.optimize_loop(ops, 'Not, Not, Not', expected)
+ self.optimize_loop(ops, expected)
def test_duplicate_setfield_3(self):
ops = """
@@ -1577,7 +1577,7 @@
"""
# potential aliasing of p1 and p2 means that we cannot kill the
# the setfield_gc
- self.optimize_loop(ops, 'Not, Not, Not, Not', ops)
+ self.optimize_loop(ops, ops)
def test_duplicate_setfield_4(self):
ops = """
@@ -1617,7 +1617,7 @@
setfield_gc(p1, i4, descr=nextdescr)
jump(p1, i1, i2, p3, i3)
"""
- self.optimize_loop(ops, 'Not, Not, Not, Not', expected, preamble)
+ self.optimize_loop(ops, expected, preamble)
def test_duplicate_setfield_5(self):
ops = """
@@ -1639,7 +1639,7 @@
escape(i1)
jump(p0, i1)
"""
- self.optimize_loop(ops, 'Not, Not', expected)
+ self.optimize_loop(ops, expected)
def test_duplicate_setfield_sideeffects_1(self):
ops = """
@@ -1649,7 +1649,7 @@
setfield_gc(p1, i2, descr=valuedescr)
jump(p1, i1, i2)
"""
- self.optimize_loop(ops, 'Not, Not, Not', ops)
+ self.optimize_loop(ops, ops)
def test_duplicate_setfield_residual_guard_1(self):
ops = """
@@ -1675,7 +1675,7 @@
setfield_gc(p1, i2, descr=valuedescr)
jump(p1, i1, i2, 1)
"""
- self.optimize_loop(ops, 'Not, Not, Not, Not', expected, preamble)
+ self.optimize_loop(ops, expected, preamble)
def test_duplicate_setfield_residual_guard_2(self):
# the difference with the previous test is that the field value is
@@ -1702,7 +1702,7 @@
setfield_gc(p1, NULL, descr=nextdescr)
jump(p1, i2, 1)
"""
- self.optimize_loop(ops, 'Not, Not, Not', expected, preamble)
+ self.optimize_loop(ops, expected, preamble)
def test_duplicate_setfield_residual_guard_3(self):
ops = """
@@ -1728,7 +1728,7 @@
setfield_gc(p1, NULL, descr=nextdescr)
jump(p1, i2, 1)
"""
- self.optimize_loop(ops, 'Not, Not, Not', expected)
+ self.optimize_loop(ops, expected)
def test_duplicate_setfield_residual_guard_4(self):
# test that the setfield_gc does not end up between int_eq and
@@ -1751,7 +1751,7 @@
setfield_gc(p1, i2, descr=valuedescr)
jump(p1, i1, i2, 5)
"""
- self.optimize_loop(ops, 'Not, Not, Not, Not', expected, preamble)
+ self.optimize_loop(ops, expected, preamble)
def test_duplicate_setfield_aliasing(self):
# a case where aliasing issues (and not enough cleverness) mean
@@ -1763,7 +1763,7 @@
setfield_gc(p1, i3, descr=valuedescr)
jump(p1, p2, i1, i2, i3)
"""
- self.optimize_loop(ops, 'Not, Not, Not, Not, Not', ops)
+ self.optimize_loop(ops, ops)
def test_duplicate_setfield_guard_value_const(self):
ops = """
@@ -1778,7 +1778,7 @@
setfield_gc(ConstPtr(myptr), i2, descr=valuedescr)
jump(i1, i2)
"""
- self.optimize_loop(ops, 'Constant(myptr), Not, Not', expected)
+ self.optimize_loop(ops, expected)
def test_duplicate_getarrayitem_1(self):
ops = """
@@ -1803,7 +1803,7 @@
escape(p3)
jump(p1)
"""
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
def test_duplicate_getarrayitem_after_setarrayitem_1(self):
ops = """
@@ -1819,7 +1819,7 @@
escape(p2)
jump(p1, p2)
"""
- self.optimize_loop(ops, 'Not, Not', expected)
+ self.optimize_loop(ops, expected)
def test_duplicate_getarrayitem_after_setarrayitem_2(self):
ops = """
@@ -1841,7 +1841,7 @@
escape(p3)
jump(p1, p2, p3, i1)
"""
- self.optimize_loop(ops, 'Not, Not, Not, Not', expected)
+ self.optimize_loop(ops, expected)
def test_duplicate_getarrayitem_after_setarrayitem_3(self):
ops = """
@@ -1868,7 +1868,7 @@
escape(p4)
jump(p1, p2, p3, p4, i1)
"""
- self.optimize_loop(ops, 'Not, Not, Not, Not, Not', expected)
+ self.optimize_loop(ops, expected)
def test_getarrayitem_pure_does_not_invalidate(self):
ops = """
@@ -1889,7 +1889,7 @@
escape(p3)
jump(p1, p2)
"""
- self.optimize_loop(ops, 'Not, Not', expected)
+ self.optimize_loop(ops, expected)
def test_duplicate_getarrayitem_after_setarrayitem_two_arrays(self):
ops = """
@@ -1910,7 +1910,7 @@
escape(p4)
jump(p1, p2, p3, p4, i1)
"""
- self.optimize_loop(ops, 'Not, Not, Not, Not, Not', expected)
+ self.optimize_loop(ops, expected)
def test_duplicate_setfield_virtual(self):
ops = """
@@ -1939,7 +1939,7 @@
setfield_gc(p1, p2, descr=nextdescr)
jump(p1, i2, 1, p4)
"""
- self.optimize_loop(ops, 'Not, Not, Not, Not', expected, preamble)
+ self.optimize_loop(ops, expected, preamble)
def test_bug_1(self):
ops = """
@@ -1961,7 +1961,8 @@
p3 = escape()
jump(i0, p3)
"""
- self.optimize_loop(ops, 'Not, Virtual(node_vtable, nextdescr=Not)',
+ xxx # was Not, Virtual(node_vtable, nextdescr=Not)
+ self.optimize_loop(ops,
expected)
def test_bug_2(self):
@@ -1984,7 +1985,8 @@
p3 = escape()
jump(i0, p3)
"""
- self.optimize_loop(ops, 'Not, VArray(arraydescr2, Not)',
+ xxx # was Not, VArray(arraydescr2, Not)
+ self.optimize_loop(ops,
expected)
def test_bug_3(self):
@@ -2030,7 +2032,7 @@
p2a = new_with_vtable(ConstClass(node_vtable))
jump(p2a, p3a)
"""
- self.optimize_loop(ops, 'Virtual(node_vtable2, nextdescr=Not, otherdescr=Not)', expected)
+ self.optimize_loop(ops, expected) # XXX Virtual(node_vtable2, nextdescr=Not, otherdescr=Not)
def test_bug_3bis(self):
ops = """
@@ -2062,7 +2064,7 @@
escape(p3a)
jump(p2a, p3a)
"""
- self.optimize_loop(ops, 'Virtual(node_vtable2, nextdescr=Not, otherdescr=Not)', expected)
+ self.optimize_loop(ops, expected) # XXX was Virtual(node_vtable2, nextdescr=Not, otherdescr=Not)
def test_invalid_loop_1(self):
ops = """
@@ -2117,7 +2119,7 @@
i3 = int_add(i1, i2)
jump(p2, i0, i1, i3, p2)
"""
- self.optimize_loop(ops, "Not, Not, Not, Not, Not", expected)
+ self.optimize_loop(ops, expected)
def test_merge_guard_nonnull_guard_class(self):
ops = """
@@ -2139,7 +2141,7 @@
i3 = int_add(i1, i2)
jump(p2, i0, i1, i3)
"""
- self.optimize_loop(ops, "Not, Not, Not, Not, Not", expected, preamble)
+ self.optimize_loop(ops, expected, preamble)
self.check_expanded_fail_descr("i0", rop.GUARD_NONNULL_CLASS)
def test_merge_guard_nonnull_guard_value(self):
@@ -2156,7 +2158,7 @@
i3 = int_add(i1, i2)
jump(p2, i0, i1, i3, p2)
"""
- self.optimize_loop(ops, "Not, Not, Not, Not, Not", expected)
+ self.optimize_loop(ops, expected)
self.check_expanded_fail_descr("i0", rop.GUARD_VALUE)
def test_merge_guard_nonnull_guard_class_guard_value(self):
@@ -2176,7 +2178,7 @@
i4 = int_sub(i3, 1)
jump(p2, i0, i1, i4, p2)
"""
- self.optimize_loop(ops, "Not, Not, Not, Not, Not", expected)
+ self.optimize_loop(ops, expected)
self.check_expanded_fail_descr("i0", rop.GUARD_VALUE)
def test_guard_class_oois(self):
@@ -2192,7 +2194,7 @@
guard_class(p1, ConstClass(node_vtable2)) []
jump(p1)
"""
- self.optimize_loop(ops, "Not", expected)
+ self.optimize_loop(ops, expected)
def test_oois_of_itself(self):
ops = """
@@ -2210,7 +2212,7 @@
p1 = getfield_gc(p0, descr=nextdescr)
jump(p0)
"""
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
def test_remove_duplicate_pure_op(self):
ops = """
@@ -2240,7 +2242,7 @@
guard_true(i1) []
jump(p1, p2)
"""
- self.optimize_loop(ops, "Not, Not", expected)
+ self.optimize_loop(ops, expected)
def test_remove_duplicate_pure_op_with_descr(self):
ops = """
@@ -2260,7 +2262,7 @@
guard_true(i1) []
jump(p1)
"""
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
def test_remove_duplicate_pure_op_ovf(self):
ops = """
@@ -2287,7 +2289,7 @@
escape(i3)
jump(i1)
"""
- self.optimize_loop(ops, "Not", expected)
+ self.optimize_loop(ops, expected)
def test_int_and_or_with_zero(self):
ops = """
@@ -2302,7 +2304,7 @@
[i0, i1]
jump(i1, i0)
"""
- self.optimize_loop(ops, 'Not, Not', expected)
+ self.optimize_loop(ops, expected)
def test_fold_partially_constant_ops(self):
ops = """
@@ -2314,7 +2316,7 @@
[i0]
jump(i0)
"""
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
ops = """
[i0]
@@ -2325,7 +2327,7 @@
[i0]
jump(i0)
"""
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
ops = """
[i0]
@@ -2336,7 +2338,7 @@
[i0]
jump(i0)
"""
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
def test_fold_partially_constant_ops_ovf(self):
ops = """
@@ -2349,7 +2351,7 @@
[i0]
jump(i0)
"""
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
ops = """
[i0]
@@ -2361,7 +2363,7 @@
[i0]
jump(i0)
"""
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
ops = """
[i0]
@@ -2373,7 +2375,7 @@
[i0]
jump(i0)
"""
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
# ----------
@@ -2501,7 +2503,7 @@
guard_true(i1, descr=fdescr) [i3]
jump(1, i3)
"""
- self.optimize_loop(ops, 'Not, Not', expected)
+ self.optimize_loop(ops, expected)
self.check_expanded_fail_descr('15, i3', rop.GUARD_TRUE)
def test_expand_fail_2(self):
@@ -2518,7 +2520,7 @@
guard_true(i1, descr=fdescr) [i2]
jump(1, i2)
"""
- self.optimize_loop(ops, 'Not, Not', expected)
+ self.optimize_loop(ops, expected)
self.check_expanded_fail_descr('''ptr
where ptr is a node_vtable, valuedescr=i2
''', rop.GUARD_TRUE)
@@ -2540,7 +2542,7 @@
guard_true(i1, descr=fdescr) [i3, i2, p3]
jump(i2, 1, i3, p3)
"""
- self.optimize_loop(ops, 'Not, Not, Not, Not', expected)
+ self.optimize_loop(ops, expected)
self.check_expanded_fail_descr('''i3, p1
where p1 is a node_vtable, valuedescr=1, nextdescr=p2
where p2 is a node_vtable, valuedescr=i2, nextdescr=p3
@@ -2567,7 +2569,7 @@
guard_true(i1, descr=fdescr) [i3, i2]
jump(1, i2, i3)
"""
- self.optimize_loop(ops % arg, 'Not, Not, Not', expected)
+ self.optimize_loop(ops % arg, expected)
self.check_expanded_fail_descr('''i3, i3, %s
where p1 is a node_vtable, valuedescr=i2, nextdescr=p2
where p2 is a node_vtable, valuedescr=i2''' % arg,
@@ -2590,7 +2592,7 @@
guard_true(i1, descr=fdescr) [i3, i4, i2]
jump(i2, 1, i3, i4)
"""
- self.optimize_loop(ops, 'Not, Not, Not, Not', expected)
+ self.optimize_loop(ops, expected)
self.check_expanded_fail_descr('''i3, i4, p1, p2
where p1 is a node_vtable, valuedescr=i4, nextdescr=p2
where p2 is a node_vtable, valuedescr=i2, nextdescr=p1
@@ -2609,6 +2611,7 @@
guard_true(i0, descr=fdescr) [i1b]
jump(i1, i1, i1)
"""
+ xxx
self.optimize_loop(ops, '''Virtual(node_vtable, valuedescr=Not),
Not, Not''', expected)
self.check_expanded_fail_descr('''p0
@@ -2630,7 +2633,7 @@
guard_true(i1, descr=fdescr) [i1]
jump(1)
"""
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
self.check_expanded_fail_descr('''p1
where p1 is a varray arraydescr: 25, i1
''', rop.GUARD_TRUE)
@@ -2651,7 +2654,7 @@
guard_true(i1, descr=fdescr) [i1, p1]
jump(1, p1)
"""
- self.optimize_loop(ops, 'Not, Not', expected)
+ self.optimize_loop(ops, expected)
self.check_expanded_fail_descr('''p2
where p2 is a vstruct ssize, adescr=i1, bdescr=p1
''', rop.GUARD_TRUE)
@@ -2680,6 +2683,7 @@
guard_true(i1, descr=fdescr) [ia, iv, i2]
jump(1, 1, i2, NULL, i2)
"""
+ xxx
self.optimize_loop(ops, '''
Not,
VArray(arraydescr2,
@@ -2714,7 +2718,7 @@
setfield_gc(p1, NULL, descr=nextdescr)
jump(p1, i2, i4)
"""
- self.optimize_loop(ops, 'Not, Not, Not', expected)
+ self.optimize_loop(ops, expected)
self.loop.inputargs[0].value = self.nodebox.value
self.check_expanded_fail_descr('''
p1.nextdescr = p2
@@ -2739,7 +2743,7 @@
setfield_gc(ConstPtr(myptr), NULL, descr=nextdescr)
jump(i2, i4)
"""
- self.optimize_loop(ops, 'Not, Not', expected)
+ self.optimize_loop(ops, expected)
self.check_expanded_fail_descr('''
ConstPtr(myptr).nextdescr = p2
where p2 is a node_vtable, valuedescr=i2
@@ -2766,7 +2770,7 @@
escape(i1)
jump(p1, p2)
"""
- self.optimize_loop(ops, 'Not, Not', expected)
+ self.optimize_loop(ops, expected)
def test_residual_call_invalidate_some_caches(self):
ops = """
@@ -2794,7 +2798,7 @@
escape(i2)
jump(p1, p2)
"""
- self.optimize_loop(ops, 'Not, Not', expected)
+ self.optimize_loop(ops, expected)
def test_residual_call_invalidate_arrays(self):
ops = """
@@ -2821,7 +2825,7 @@
escape(p4)
jump(p1, p2, i1)
"""
- self.optimize_loop(ops, 'Not, Not, Not', expected)
+ self.optimize_loop(ops, expected)
def test_residual_call_invalidate_some_arrays(self):
ops = """
@@ -2856,7 +2860,7 @@
escape(i4)
jump(p1, p2, i1)
"""
- self.optimize_loop(ops, 'Not, Not, Not', expected)
+ self.optimize_loop(ops, expected)
def test_residual_call_invalidates_some_read_caches_1(self):
ops = """
@@ -2876,7 +2880,7 @@
setfield_gc(p2, i3, descr=adescr)
jump(p1, i1, p2, i2)
"""
- self.optimize_loop(ops, 'Not, Not, Not, Not', expected)
+ self.optimize_loop(ops, expected)
def test_residual_call_invalidates_some_read_caches_2(self):
ops = """
@@ -2896,7 +2900,7 @@
setfield_gc(p2, i3, descr=adescr)
jump(p1, i1, p2, i2)
"""
- self.optimize_loop(ops, 'Not, Not, Not, Not', expected)
+ self.optimize_loop(ops, expected)
def test_residual_call_invalidates_some_read_caches_3(self):
ops = """
@@ -2908,7 +2912,7 @@
setfield_gc(p2, i3, descr=adescr)
jump(p1, i1, p2, i2)
"""
- self.optimize_loop(ops, 'Not, Not, Not, Not', ops)
+ self.optimize_loop(ops, ops)
def test_call_assembler_invalidates_caches(self):
ops = '''
@@ -2918,7 +2922,7 @@
setfield_gc(p1, i3, descr=valuedescr)
jump(p1, i3)
'''
- self.optimize_loop(ops, 'Not, Not', ops)
+ self.optimize_loop(ops, ops)
def test_call_pure_invalidates_caches(self):
# CALL_PURE should still force the setfield_gc() to occur before it
@@ -2936,7 +2940,7 @@
setfield_gc(p1, i3, descr=valuedescr)
jump(p1, i3)
'''
- self.optimize_loop(ops, 'Not, Not', expected)
+ self.optimize_loop(ops, expected)
def test_call_pure_constant_folding(self):
# CALL_PURE is not marked as is_always_pure(), because it is wrong
@@ -2959,7 +2963,7 @@
i4 = call(123456, 4, i0, 6, descr=plaincalldescr)
jump(i0, 42, i4)
'''
- self.optimize_loop(ops, 'Not, Not, Not', expected)
+ self.optimize_loop(ops, expected)
def test_vref_nonvirtual_nonescape(self):
ops = """
@@ -2973,7 +2977,7 @@
i0 = force_token()
jump(p1)
"""
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
def test_vref_nonvirtual_escape(self):
ops = """
@@ -2996,7 +3000,7 @@
"""
# XXX we should optimize a bit more the case of a nonvirtual.
# in theory it is enough to just do 'p2 = p1'.
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
def test_vref_virtual_1(self):
ops = """
@@ -3036,7 +3040,7 @@
setfield_gc(p2, -3, descr=virtualtokendescr)
jump(p0, i1)
"""
- self.optimize_loop(ops, 'Not, Not', expected)
+ self.optimize_loop(ops, expected)
def test_vref_virtual_2(self):
ops = """
@@ -3078,7 +3082,7 @@
"""
# the point of this test is that 'i1' should show up in the fail_args
# of 'guard_not_forced', because it was stored in the virtual 'p1b'.
- self.optimize_loop(ops, 'Not, Not', expected)
+ self.optimize_loop(ops, expected)
self.check_expanded_fail_descr('''p2, p1
where p1 is a node_vtable, nextdescr=p1b
where p1b is a node_vtable, valuedescr=i1
@@ -3109,7 +3113,7 @@
setfield_gc(p0, NULL, descr=refdescr)
jump(p0, i1)
"""
- self.optimize_loop(ops, 'Not, Not', expected)
+ self.optimize_loop(ops, expected)
# the fail_args contain [i3, i1, p0]:
# - i3 is from the virtual expansion of p2
# - i1 is from the virtual expansion of p1
@@ -3147,7 +3151,7 @@
guard_not_forced() []
jump(i1)
"""
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
def test_vref_nonvirtual_and_lazy_setfield(self):
ops = """
@@ -3172,7 +3176,7 @@
guard_not_forced() [i1]
jump(i1, p1)
"""
- self.optimize_loop(ops, 'Not, Not', expected)
+ self.optimize_loop(ops, expected)
def test_arraycopy_1(self):
ops = '''
@@ -3189,7 +3193,7 @@
[]
jump()
'''
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
def test_arraycopy_2(self):
ops = '''
@@ -3206,7 +3210,7 @@
[]
jump()
'''
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
def test_arraycopy_not_virtual(self):
ops = '''
@@ -3226,7 +3230,7 @@
escape(p2)
jump()
'''
- self.optimize_loop(ops, '', expected)
+ self.optimize_loop(ops, expected)
def test_arraycopy_no_elem(self):
""" this was actually observed in the wild
@@ -3241,7 +3245,7 @@
[p1]
jump(p1)
'''
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
def test_bound_lt(self):
ops = """
@@ -3258,7 +3262,7 @@
guard_true(i1) []
jump(i0)
"""
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
def test_bound_lt_noguard(self):
ops = """
@@ -3273,7 +3277,7 @@
i2 = int_lt(i0, 5)
jump(i2)
"""
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
def test_bound_lt_noopt(self):
ops = """
@@ -3292,7 +3296,7 @@
guard_true(i2) []
jump(4)
"""
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
def test_bound_lt_rev(self):
ops = """
@@ -3309,7 +3313,7 @@
guard_false(i1) []
jump(i0)
"""
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
def test_bound_lt_tripple(self):
ops = """
@@ -3328,7 +3332,7 @@
guard_true(i1) []
jump(i0)
"""
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
def test_bound_lt_add(self):
ops = """
@@ -3347,7 +3351,7 @@
i2 = int_add(i0, 10)
jump(i0)
"""
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
def test_bound_lt_add_before(self):
ops = """
@@ -3366,7 +3370,7 @@
guard_true(i3) []
jump(i0)
"""
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
def test_bound_lt_add_ovf(self):
ops = """
@@ -3386,7 +3390,7 @@
i2 = int_add(i0, 10)
jump(i0)
"""
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
def test_bound_lt_add_ovf_before(self):
ops = """
@@ -3407,7 +3411,7 @@
guard_true(i3) []
jump(i0)
"""
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
def test_bound_lt_sub(self):
ops = """
@@ -3426,7 +3430,7 @@
i2 = int_sub(i0, 10)
jump(i0)
"""
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
def test_bound_lt_sub_before(self):
ops = """
@@ -3445,7 +3449,7 @@
guard_true(i3) []
jump(i0)
"""
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
def test_bound_ltle(self):
ops = """
@@ -3462,7 +3466,7 @@
guard_true(i1) []
jump(i0)
"""
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
def test_bound_lelt(self):
ops = """
@@ -3479,7 +3483,7 @@
guard_true(i1) []
jump(i0)
"""
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
def test_bound_gt(self):
ops = """
@@ -3496,7 +3500,7 @@
guard_true(i1) []
jump(i0)
"""
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
def test_bound_gtge(self):
ops = """
@@ -3513,7 +3517,7 @@
guard_true(i1) []
jump(i0)
"""
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
def test_bound_gegt(self):
ops = """
@@ -3530,7 +3534,7 @@
guard_true(i1) []
jump(i0)
"""
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
def test_bound_ovf(self):
ops = """
@@ -3552,7 +3556,7 @@
i3 = int_add(i0, 1)
jump(i3)
"""
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
def test_bound_arraylen(self):
ops = """
@@ -3572,7 +3576,7 @@
setarrayitem_gc(p0, 0, p1)
jump(i0, p0)
"""
- self.optimize_loop(ops, 'Not, Not', expected)
+ self.optimize_loop(ops, expected)
def test_bound_strlen(self):
ops = """
@@ -3588,7 +3592,7 @@
i0 = strlen(p0)
jump(p0)
"""
- self.optimize_strunicode_loop(ops, 'Not', expected)
+ self.optimize_strunicode_loop(ops, expected)
def test_addsub_const(self):
ops = """
@@ -3605,7 +3609,7 @@
i4 = int_mul(i0, i1)
jump(i4)
"""
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
def test_addsub_int(self):
ops = """
@@ -3622,7 +3626,7 @@
i4 = int_add(i0, i1)
jump(i4, i10)
"""
- self.optimize_loop(ops, 'Not, Not', expected)
+ self.optimize_loop(ops, expected)
def test_addsub_int2(self):
ops = """
@@ -3639,7 +3643,7 @@
i4 = int_add(i0, i1)
jump(i4, i10)
"""
- self.optimize_loop(ops, 'Not, Not', expected)
+ self.optimize_loop(ops, expected)
def test_framestackdepth_overhead(self):
ops = """
@@ -3665,7 +3669,7 @@
setfield_gc(p0, i1, descr=valuedescr)
jump(p0, i22, i1)
"""
- self.optimize_loop(ops, 'Not, Not', expected)
+ self.optimize_loop(ops, expected)
def test_setgetfield_raw(self):
ops = """
@@ -3684,7 +3688,7 @@
setfield_raw(p7, i33, descr=nextdescr)
jump(p4, p7, i30, i33)
"""
- self.optimize_loop(ops, 'Not, Not, Not', expected)
+ self.optimize_loop(ops, expected)
def test_pure(self):
ops = """
@@ -3701,7 +3705,7 @@
"""
self.node.value = 5
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
def test_addsub_ovf(self):
ops = """
@@ -3719,7 +3723,7 @@
i2 = int_sub(i1, 5)
jump(i2)
"""
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
def test_subadd_ovf(self):
ops = """
@@ -3737,7 +3741,7 @@
i2 = int_add(i1, 5)
jump(i2)
"""
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
def test_bound_and(self):
ops = """
@@ -3782,7 +3786,7 @@
guard_true(i15) []
jump(i1)
"""
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
def test_subsub_ovf(self):
ops = """
@@ -3806,7 +3810,7 @@
i3 = int_sub(1, i0)
jump(i0)
"""
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
def test_bound_eq(self):
ops = """
@@ -3831,7 +3835,7 @@
guard_true(i3) []
jump()
"""
- self.optimize_loop(ops, '', expected)
+ self.optimize_loop(ops, expected)
def test_bound_eq_const(self):
ops = """
@@ -3851,7 +3855,7 @@
escape(10)
jump()
"""
- self.optimize_loop(ops, '', expected)
+ self.optimize_loop(ops, expected)
def test_bound_eq_const_not(self):
ops = """
@@ -3869,7 +3873,7 @@
jump(i2)
"""
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
def test_bound_ne_const(self):
ops = """
@@ -3886,7 +3890,7 @@
jump(10)
"""
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
def test_bound_ne_const_not(self):
ops = """
@@ -3903,7 +3907,7 @@
i2 = int_add(i0, 3)
jump(i2)
"""
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
def test_bound_ltne(self):
ops = """
@@ -3920,7 +3924,7 @@
guard_true(i2) []
jump(i0, i1)
"""
- self.optimize_loop(ops, 'Not, Not', expected)
+ self.optimize_loop(ops, expected)
def test_bound_lege_const(self):
ops = """
@@ -3941,7 +3945,7 @@
jump(10)
"""
- self.optimize_loop(ops, 'Not', expected)
+ self.optimize_loop(ops, expected)
def test_mul_ovf(self):
ops = """
@@ -3973,7 +3977,7 @@
guard_true(i8) []
jump(i0, i1)
"""
- self.optimize_loop(ops, 'Not, Not', expected)
+ self.optimize_loop(ops, expected)
def test_mul_ovf_before(self):
ops = """
@@ -4002,7 +4006,7 @@
guard_true(i5) []
jump(i0, i1)
"""
- self.optimize_loop(ops, 'Not, Not', expected)
+ self.optimize_loop(ops, expected)
def test_sub_ovf_before(self):
ops = """
@@ -4031,15 +4035,14 @@
guard_true(i5) []
jump(i0, i1)
"""
- self.optimize_loop(ops, 'Not, Not', expected)
+ self.optimize_loop(ops, expected)
# ----------
- def optimize_strunicode_loop(self, ops, spectext, optops):
+ def optimize_strunicode_loop(self, ops, optops):
# check with the arguments passed in
- self.optimize_loop(ops, spectext, optops)
+ self.optimize_loop(ops, optops)
# check with replacing 'str' with 'unicode' everywhere
self.optimize_loop(ops.replace('str','unicode').replace('s"', 'u"'),
- spectext,
optops.replace('str','unicode').replace('s"', 'u"'))
def test_newstr_1(self):
@@ -4054,7 +4057,7 @@
[i0]
jump(i0)
"""
- self.optimize_strunicode_loop(ops, 'Not', expected)
+ self.optimize_strunicode_loop(ops, expected)
def test_newstr_2(self):
ops = """
@@ -4070,7 +4073,7 @@
[i0, i1]
jump(i1, i0)
"""
- self.optimize_strunicode_loop(ops, 'Not, Not', expected)
+ self.optimize_strunicode_loop(ops, expected)
def test_str_concat_1(self):
ops = """
@@ -4091,7 +4094,7 @@
copystrcontent(p2, p3, 0, i4, i5)
jump(p2, p3)
"""
- self.optimize_strunicode_loop(ops, 'Not, Not', expected)
+ self.optimize_strunicode_loop(ops, expected)
def test_str_concat_vstr2_str(self):
ops = """
@@ -4114,7 +4117,7 @@
copystrcontent(p2, p3, 0, 2, i4)
jump(i1, i0, p3)
"""
- self.optimize_strunicode_loop(ops, 'Not, Not, Not', expected)
+ self.optimize_strunicode_loop(ops, expected)
def test_str_concat_str_vstr2(self):
ops = """
@@ -4138,7 +4141,7 @@
i6 = int_add(i5, 1) # will be killed by the backend
jump(i1, i0, p3)
"""
- self.optimize_strunicode_loop(ops, 'Not, Not, Not', expected)
+ self.optimize_strunicode_loop(ops, expected)
def test_str_concat_str_str_str(self):
ops = """
@@ -4165,7 +4168,7 @@
copystrcontent(p3, p5, 0, i12b, i3b)
jump(p2, p3, p5)
"""
- self.optimize_strunicode_loop(ops, 'Not, Not, Not', expected)
+ self.optimize_strunicode_loop(ops, expected)
def test_str_concat_str_cstr1(self):
ops = """
@@ -4184,7 +4187,7 @@
i5 = int_add(i4, 1) # will be killed by the backend
jump(p3)
"""
- self.optimize_strunicode_loop(ops, 'Not', expected)
+ self.optimize_strunicode_loop(ops, expected)
def test_str_concat_consts(self):
ops = """
@@ -4200,7 +4203,7 @@
escape(s"abcde")
jump()
"""
- self.optimize_strunicode_loop(ops, '', expected)
+ self.optimize_strunicode_loop(ops, expected)
def test_str_slice_1(self):
ops = """
@@ -4215,7 +4218,7 @@
copystrcontent(p1, p2, i1, 0, i3)
jump(p2, i1, i2)
"""
- self.optimize_strunicode_loop(ops, 'Not, Not, Not', expected)
+ self.optimize_strunicode_loop(ops, expected)
def test_str_slice_2(self):
ops = """
@@ -4229,7 +4232,7 @@
copystrcontent(p1, p2, 0, 0, i2)
jump(p2, i2)
"""
- self.optimize_strunicode_loop(ops, 'Not, Not', expected)
+ self.optimize_strunicode_loop(ops, expected)
def test_str_slice_3(self):
ops = """
@@ -4247,7 +4250,7 @@
copystrcontent(p1, p3, i6, 0, i5)
jump(p3, i1, i2, i3, i4)
"""
- self.optimize_strunicode_loop(ops, 'Not, Not, Not, Not, Not', expected)
+ self.optimize_strunicode_loop(ops, expected)
def test_str_slice_getitem1(self):
ops = """
@@ -4265,7 +4268,7 @@
escape(i4)
jump(p1, i1, i2, i3)
"""
- self.optimize_strunicode_loop(ops, 'Not, Not, Not, Not', expected)
+ self.optimize_strunicode_loop(ops, expected)
def test_str_slice_plain(self):
ops = """
@@ -4283,7 +4286,7 @@
escape(i4)
jump(i3, i4)
"""
- self.optimize_strunicode_loop(ops, 'Not, Not', expected)
+ self.optimize_strunicode_loop(ops, expected)
def test_str_slice_concat(self):
ops = """
@@ -4304,10 +4307,10 @@
copystrcontent(p2, p4, 0, i3, i4b)
jump(p4, i1, i2, p2)
"""
- self.optimize_strunicode_loop(ops, 'Not, Not, Not, Not', expected)
+ self.optimize_strunicode_loop(ops, expected)
# ----------
- def optimize_strunicode_loop_extradescrs(self, ops, spectext, optops):
+ def optimize_strunicode_loop_extradescrs(self, ops, optops):
from pypy.jit.metainterp.optimizeopt import string
def my_callinfo_for_oopspec(oopspecindex):
calldescrtype = type(LLtypeMixin.strequaldescr)
@@ -4322,7 +4325,7 @@
saved = string.callinfo_for_oopspec
try:
string.callinfo_for_oopspec = my_callinfo_for_oopspec
- self.optimize_strunicode_loop(ops, spectext, optops)
+ self.optimize_strunicode_loop(ops, optops)
finally:
string.callinfo_for_oopspec = saved
@@ -4333,7 +4336,7 @@
escape(i0)
jump(p1, p2)
"""
- self.optimize_strunicode_loop_extradescrs(ops, 'Not, Not', ops)
+ self.optimize_strunicode_loop_extradescrs(ops, ops)
def test_str_equal_noop2(self):
ops = """
@@ -4358,7 +4361,7 @@
escape(i0)
jump(p1, p2, p3)
"""
- self.optimize_strunicode_loop_extradescrs(ops, 'Not, Not, Not',
+ self.optimize_strunicode_loop_extradescrs(ops,
expected)
def test_str_equal_slice1(self):
@@ -4376,7 +4379,7 @@
escape(i0)
jump(p1, i1, i2, p3)
"""
- self.optimize_strunicode_loop_extradescrs(ops, 'Not, Not, Not, Not',
+ self.optimize_strunicode_loop_extradescrs(ops,
expected)
def test_str_equal_slice2(self):
@@ -4394,7 +4397,7 @@
escape(i0)
jump(p1, i1, i2, p3)
"""
- self.optimize_strunicode_loop_extradescrs(ops, 'Not, Not, Not, Not',
+ self.optimize_strunicode_loop_extradescrs(ops,
expected)
def test_str_equal_slice3(self):
@@ -4414,7 +4417,7 @@
escape(i0)
jump(p1, i1, i2, p3)
"""
- self.optimize_strunicode_loop_extradescrs(ops, 'Not, Not, Not, Not',
+ self.optimize_strunicode_loop_extradescrs(ops,
expected)
def test_str_equal_slice4(self):
@@ -4432,7 +4435,7 @@
escape(i0)
jump(p1, i1, i2)
"""
- self.optimize_strunicode_loop_extradescrs(ops, 'Not, Not, Not',
+ self.optimize_strunicode_loop_extradescrs(ops,
expected)
def test_str_equal_slice5(self):
@@ -4452,7 +4455,7 @@
escape(i0)
jump(p1, i1, i2, i3)
"""
- self.optimize_strunicode_loop_extradescrs(ops, 'Not, Not, Not, Not',
+ self.optimize_strunicode_loop_extradescrs(ops,
expected)
def test_str_equal_none1(self):
@@ -4468,7 +4471,7 @@
escape(i0)
jump(p1)
"""
- self.optimize_strunicode_loop_extradescrs(ops, 'Not', expected)
+ self.optimize_strunicode_loop_extradescrs(ops, expected)
def test_str_equal_none2(self):
ops = """
@@ -4483,7 +4486,7 @@
escape(i0)
jump(p1)
"""
- self.optimize_strunicode_loop_extradescrs(ops, 'Not', expected)
+ self.optimize_strunicode_loop_extradescrs(ops, expected)
def test_str_equal_nonnull1(self):
ops = """
@@ -4500,7 +4503,7 @@
escape(i0)
jump(p1)
"""
- self.optimize_strunicode_loop_extradescrs(ops, 'Not', expected)
+ self.optimize_strunicode_loop_extradescrs(ops, expected)
def test_str_equal_nonnull2(self):
ops = """
@@ -4518,7 +4521,7 @@
escape(i0)
jump(p1)
"""
- self.optimize_strunicode_loop_extradescrs(ops, 'Not', expected)
+ self.optimize_strunicode_loop_extradescrs(ops, expected)
def test_str_equal_nonnull3(self):
ops = """
@@ -4535,7 +4538,7 @@
escape(i0)
jump(p1)
"""
- self.optimize_strunicode_loop_extradescrs(ops, 'Not', expected)
+ self.optimize_strunicode_loop_extradescrs(ops, expected)
def test_str_equal_nonnull4(self):
ops = """
@@ -4560,7 +4563,7 @@
escape(i0)
jump(p1, p2)
"""
- self.optimize_strunicode_loop_extradescrs(ops, 'Not, Not', expected)
+ self.optimize_strunicode_loop_extradescrs(ops, expected)
def test_str_equal_chars0(self):
ops = """
@@ -4575,7 +4578,7 @@
escape(1)
jump(i1)
"""
- self.optimize_strunicode_loop_extradescrs(ops, 'Not', expected)
+ self.optimize_strunicode_loop_extradescrs(ops, expected)
def test_str_equal_chars1(self):
ops = """
@@ -4592,7 +4595,7 @@
escape(i0)
jump(i1)
"""
- self.optimize_strunicode_loop_extradescrs(ops, 'Not', expected)
+ self.optimize_strunicode_loop_extradescrs(ops, expected)
def test_str_equal_chars2(self):
ops = """
@@ -4613,7 +4616,7 @@
escape(i0)
jump(i1, i2)
"""
- self.optimize_strunicode_loop_extradescrs(ops, 'Not, Not', expected)
+ self.optimize_strunicode_loop_extradescrs(ops, expected)
def test_str_equal_chars3(self):
ops = """
@@ -4628,7 +4631,7 @@
escape(i0)
jump(p1)
"""
- self.optimize_strunicode_loop_extradescrs(ops, 'Not', expected)
+ self.optimize_strunicode_loop_extradescrs(ops, expected)
def test_str_equal_lengthmismatch1(self):
ops = """
@@ -4644,7 +4647,7 @@
escape(0)
jump(i1)
"""
- self.optimize_strunicode_loop_extradescrs(ops, 'Not', expected)
+ self.optimize_strunicode_loop_extradescrs(ops, expected)
def test_str2unicode_constant(self):
ops = """
@@ -4658,7 +4661,7 @@
escape(u"xy")
jump()
"""
- self.optimize_strunicode_loop_extradescrs(ops, '', expected)
+ self.optimize_strunicode_loop_extradescrs(ops, expected)
def test_str2unicode_nonconstant(self):
ops = """
@@ -4667,7 +4670,7 @@
escape(p1)
jump(p1)
"""
- self.optimize_strunicode_loop_extradescrs(ops, 'Not', ops)
+ self.optimize_strunicode_loop_extradescrs(ops, ops)
# more generally, supporting non-constant but virtual cases is
# not obvious, because of the exception UnicodeDecodeError that
# can be raised by ll_str2unicode()
@@ -4686,7 +4689,7 @@
## [i0]
## jump(1)
## """
-## self.optimize_loop(ops, 'Not', expected)
+## self.optimize_loop(ops, expected)
## def test_instanceof_guard_class(self):
## ops = """
@@ -4700,4 +4703,4 @@
## guard_class(p0, ConstClass(node_vtable)) []
## jump(1, p0)
## """
-## self.optimize_loop(ops, 'Not, Not', expected)
+## self.optimize_loop(ops, expected)
More information about the Pypy-commit
mailing list