[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