[pypy-commit] pypy unroll-if-alt: fix some merge failures.
alex_gaynor
noreply at buildbot.pypy.org
Wed Sep 14 20:26:19 CEST 2011
Author: Alex Gaynor <alex.gaynor at gmail.com>
Branch: unroll-if-alt
Changeset: r47273:42daaab99f83
Date: 2011-09-14 14:26 -0400
http://bitbucket.org/pypy/pypy/changeset/42daaab99f83/
Log: fix some merge failures.
diff --git a/pypy/jit/metainterp/optimizeopt/test/test_optimizebasic.py b/pypy/jit/metainterp/optimizeopt/test/test_optimizebasic.py
--- a/pypy/jit/metainterp/optimizeopt/test/test_optimizebasic.py
+++ b/pypy/jit/metainterp/optimizeopt/test/test_optimizebasic.py
@@ -4711,7 +4711,6 @@
"""
self.optimize_loop(ops, expected)
-<<<<<<< local
def test_empty_copystrunicontent(self):
ops = """
[p0, p1, i0, i2, i3]
diff --git a/pypy/jit/metainterp/optimizeopt/test/test_optimizeopt.py b/pypy/jit/metainterp/optimizeopt/test/test_optimizeopt.py
--- a/pypy/jit/metainterp/optimizeopt/test/test_optimizeopt.py
+++ b/pypy/jit/metainterp/optimizeopt/test/test_optimizeopt.py
@@ -102,9 +102,9 @@
print "Short Preamble:"
short = loop.preamble.token.short_preamble[0]
print short.inputargs
- print '\n'.join([str(o) for o in short.operations])
+ print '\n'.join([str(o) for o in short.operations])
print
-
+
assert expected != "crash!", "should have raised an exception"
self.assert_equal(loop, expected)
if expected_preamble:
@@ -113,7 +113,7 @@
if expected_short:
self.assert_equal(short, expected_short,
text_right='expected short preamble')
-
+
return loop
class OptimizeOptTest(BaseTestWithUnroll):
@@ -866,10 +866,10 @@
setfield_gc(p3sub, i1, descr=valuedescr)
setfield_gc(p1, p3sub, descr=nextdescr)
# XXX: We get two extra operations here because the setfield
- # above is the result of forcing p1 and thus not
+ # above is the result of forcing p1 and thus not
# registered with the heap optimizer. I've makred tests
# below with VIRTUALHEAP if they suffer from this issue
- p3sub2 = getfield_gc(p1, descr=nextdescr)
+ p3sub2 = getfield_gc(p1, descr=nextdescr)
guard_nonnull_class(p3sub2, ConstClass(node_vtable2)) []
jump(i1, p1, p3sub2)
"""
@@ -1411,7 +1411,7 @@
guard_isnull(p18) [p0, p8]
p31 = new(descr=ssize)
p35 = new_with_vtable(ConstClass(node_vtable))
- setfield_gc(p35, p31, descr=valuedescr)
+ setfield_gc(p35, p31, descr=valuedescr)
jump(p0, p35)
"""
expected = """
@@ -1426,7 +1426,7 @@
guard_isnull(p18) [p0, p8]
p31 = new(descr=ssize)
p35 = new_with_vtable(ConstClass(node_vtable))
- setfield_gc(p35, p31, descr=valuedescr)
+ setfield_gc(p35, p31, descr=valuedescr)
jump(p0, p35, p19, p18)
"""
expected = """
@@ -1435,7 +1435,7 @@
jump(p0, NULL)
"""
self.optimize_loop(ops, expected)
-
+
def test_varray_1(self):
ops = """
[i1]
@@ -2181,7 +2181,7 @@
jump(p1)
"""
self.optimize_loop(ops, expected)
-
+
def test_duplicate_getarrayitem_2(self):
ops = """
[p1, i0]
@@ -2199,7 +2199,7 @@
jump(p1, i7, i6)
"""
self.optimize_loop(ops, expected)
-
+
def test_duplicate_getarrayitem_after_setarrayitem_1(self):
ops = """
[p1, p2]
@@ -2812,14 +2812,14 @@
guard_no_overflow() []
i3b = int_is_true(i3)
guard_true(i3b) []
- setfield_gc(p1, i1, descr=valuedescr)
+ setfield_gc(p1, i1, descr=valuedescr)
escape(i3)
escape(i3)
jump(i1, p1, i3)
"""
expected = """
[i1, p1, i3]
- setfield_gc(p1, i1, descr=valuedescr)
+ setfield_gc(p1, i1, descr=valuedescr)
escape(i3)
escape(i3)
jump(i1, p1, i3)
@@ -2830,7 +2830,7 @@
ops = """
[p8, p11, i24]
p26 = new_with_vtable(ConstClass(node_vtable))
- setfield_gc(p26, i24, descr=adescr)
+ setfield_gc(p26, i24, descr=adescr)
i34 = getfield_gc_pure(p11, descr=valuedescr)
i35 = getfield_gc_pure(p26, descr=adescr)
i36 = int_add_ovf(i34, i35)
@@ -2839,10 +2839,10 @@
"""
expected = """
[p8, p11, i26]
- jump(p8, p11, i26)
- """
- self.optimize_loop(ops, expected)
-
+ jump(p8, p11, i26)
+ """
+ self.optimize_loop(ops, expected)
+
def test_ovf_guard_in_short_preamble2(self):
ops = """
[p8, p11, p12]
@@ -5150,14 +5150,14 @@
[i0, i1, i10, i11, i2, i3, i4]
escape(i2)
escape(i3)
- escape(i4)
+ escape(i4)
i24 = int_mul_ovf(i10, i11)
guard_no_overflow() []
i23 = int_sub_ovf(i10, i11)
guard_no_overflow() []
i22 = int_add_ovf(i10, i11)
guard_no_overflow() []
- jump(i0, i1, i10, i11, i2, i3, i4)
+ jump(i0, i1, i10, i11, i2, i3, i4)
"""
self.optimize_loop(ops, expected)
@@ -5699,14 +5699,14 @@
ops = """
[p0, i0]
i1 = unicodegetitem(p0, i0)
- i10 = unicodegetitem(p0, i0)
+ i10 = unicodegetitem(p0, i0)
i2 = int_lt(i1, 0)
guard_false(i2) []
jump(p0, i0)
"""
expected = """
[p0, i0]
- i1 = unicodegetitem(p0, i0)
+ i1 = unicodegetitem(p0, i0)
jump(p0, i0)
"""
self.optimize_loop(ops, expected)
@@ -5865,7 +5865,7 @@
"""
preamble = """
[p1, i1, i2, p3]
- guard_nonnull(p3) []
+ guard_nonnull(p3) []
i4 = int_sub(i2, i1)
i0 = call(0, p1, i1, i4, p3, descr=streq_slice_nonnull_descr)
escape(i0)
@@ -6474,7 +6474,7 @@
setfield_gc(p3, i1, descr=adescr)
setfield_gc(p3, i2, descr=bdescr)
i5 = int_gt(ii, 42)
- guard_true(i5) []
+ guard_true(i5) []
jump(p0, p1, p3, ii2, ii, i1, i2)
"""
self.optimize_loop(ops, expected)
@@ -6500,7 +6500,7 @@
p1 = getfield_gc(p0, descr=nextdescr)
guard_nonnull_class(p1, ConstClass(node_vtable)) []
p2 = getfield_gc(p1, descr=nextdescr)
- guard_nonnull_class(p2, ConstClass(node_vtable)) []
+ guard_nonnull_class(p2, ConstClass(node_vtable)) []
jump(p0)
"""
expected = """
@@ -6514,11 +6514,11 @@
guard_class(p1, ConstClass(node_vtable)) []
p2 = getfield_gc(p1, descr=nextdescr)
guard_nonnull(p2) []
- guard_class(p2, ConstClass(node_vtable)) []
+ guard_class(p2, ConstClass(node_vtable)) []
jump(p0)
"""
self.optimize_loop(ops, expected, expected_short=short)
-
+
def test_forced_virtual_pure_getfield(self):
ops = """
[p0]
@@ -6582,7 +6582,7 @@
jump(p1, i2)
"""
self.optimize_loop(ops, expected)
-
+
def test_loopinvariant_strlen(self):
ops = """
[p9]
@@ -6715,7 +6715,7 @@
[p0, p1]
p2 = new_with_vtable(ConstClass(node_vtable))
p3 = new_with_vtable(ConstClass(node_vtable))
- setfield_gc(p2, p3, descr=nextdescr)
+ setfield_gc(p2, p3, descr=nextdescr)
jump(p2, p3)
"""
expected = """
@@ -6734,7 +6734,7 @@
jump(p2, i2)
"""
expected = """
- [p1]
+ [p1]
p2 = getarrayitem_gc(p1, 7, descr=<GcPtrArrayDescr>)
i1 = arraylen_gc(p1)
jump(p2)
@@ -6775,8 +6775,8 @@
jump(p0, p2, p1)
"""
self.optimize_loop(ops, expected, expected_short=short)
-
-
+
+
def test_loopinvariant_constant_strgetitem(self):
ops = """
[p0]
@@ -6830,11 +6830,11 @@
expected = """
[p0, i22, p1]
call(i22, descr=nonwritedescr)
- i3 = unicodelen(p1) # Should be killed by backend
+ i3 = unicodelen(p1) # Should be killed by backend
jump(p0, i22, p1)
"""
self.optimize_loop(ops, expected, expected_short=short)
-
+
def test_propagate_virtual_arryalen(self):
ops = """
[p0]
@@ -6903,7 +6903,7 @@
[p0, p1, p10, p11]
i1 = arraylen_gc(p10, descr=arraydescr)
getarrayitem_gc(p11, 1, descr=arraydescr)
- call(i1, descr=nonwritedescr)
+ call(i1, descr=nonwritedescr)
jump(p1, p0, p11, p10)
"""
self.optimize_loop(ops, expected)
@@ -6912,20 +6912,20 @@
ops = """
[p5]
i10 = getfield_gc(p5, descr=valuedescr)
- call(i10, descr=nonwritedescr)
+ call(i10, descr=nonwritedescr)
setfield_gc(p5, 1, descr=valuedescr)
jump(p5)
"""
preamble = """
[p5]
i10 = getfield_gc(p5, descr=valuedescr)
- call(i10, descr=nonwritedescr)
+ call(i10, descr=nonwritedescr)
setfield_gc(p5, 1, descr=valuedescr)
jump(p5)
"""
expected = """
[p5]
- call(1, descr=nonwritedescr)
+ call(1, descr=nonwritedescr)
jump(p5)
"""
self.optimize_loop(ops, expected, preamble)
@@ -6963,7 +6963,7 @@
[p9]
call_assembler(0, descr=asmdescr)
i18 = getfield_gc(p9, descr=valuedescr)
- guard_value(i18, 0) []
+ guard_value(i18, 0) []
jump(p9)
"""
self.optimize_loop(ops, expected)
@@ -6992,17 +6992,17 @@
i10 = getfield_gc(p5, descr=valuedescr)
i11 = getfield_gc(p6, descr=nextdescr)
call(i10, i11, descr=nonwritedescr)
- setfield_gc(p6, i10, descr=nextdescr)
+ setfield_gc(p6, i10, descr=nextdescr)
jump(p5, p6)
"""
expected = """
[p5, p6, i10, i11]
call(i10, i11, descr=nonwritedescr)
- setfield_gc(p6, i10, descr=nextdescr)
+ setfield_gc(p6, i10, descr=nextdescr)
jump(p5, p6, i10, i10)
"""
self.optimize_loop(ops, expected)
-
+
def test_cached_pure_func_of_equal_fields(self):
ops = """
[p5, p6]
@@ -7011,18 +7011,18 @@
i12 = int_add(i10, 7)
i13 = int_add(i11, 7)
call(i12, i13, descr=nonwritedescr)
- setfield_gc(p6, i10, descr=nextdescr)
+ setfield_gc(p6, i10, descr=nextdescr)
jump(p5, p6)
"""
expected = """
[p5, p6, i14, i12, i10]
i13 = int_add(i14, 7)
call(i12, i13, descr=nonwritedescr)
- setfield_gc(p6, i10, descr=nextdescr)
+ setfield_gc(p6, i10, descr=nextdescr)
jump(p5, p6, i10, i12, i10)
"""
self.optimize_loop(ops, expected)
-
+
def test_forced_counter(self):
# XXX: VIRTUALHEAP (see above)
py.test.skip("would be fixed by make heap optimizer aware of virtual setfields")
@@ -7165,7 +7165,7 @@
expected = """
[p1, p2, i2, i1]
call(i2, descr=nonwritedescr)
- setfield_gc(p2, i1, descr=nextdescr)
+ setfield_gc(p2, i1, descr=nextdescr)
jump(p1, p2, i2, i1)
"""
self.optimize_loop(ops, expected)
@@ -7185,11 +7185,11 @@
expected = """
[p1, p2, i2, i1]
call(i2, descr=nonwritedescr)
- setfield_gc(p2, i1, descr=valuedescr)
+ setfield_gc(p2, i1, descr=valuedescr)
jump(p1, p2, i2, i1)
"""
self.optimize_loop(ops, expected)
-
+
class TestLLtype(OptimizeOptTest, LLtypeMixin):
pass
-
+
diff --git a/pypy/jit/metainterp/pyjitpl.py b/pypy/jit/metainterp/pyjitpl.py
--- a/pypy/jit/metainterp/pyjitpl.py
+++ b/pypy/jit/metainterp/pyjitpl.py
@@ -401,19 +401,17 @@
self.metainterp.heapcache.new_array(resbox, lengthbox)
return resbox
- @arguments("box", "descr", "box")
- def _opimpl_getarrayitem_gc_any(self, arraybox, arraydescr, indexbox):
+ def _do_getarrayitem_gc_any(self, op, arraybox, arraydescr, indexbox):
tobox = self.metainterp.heapcache.getarrayitem(
arraybox, arraydescr, indexbox)
if tobox:
# sanity check: see whether the current array value
# corresponds to what the cache thinks the value is
- resbox = executor.execute(self.metainterp.cpu, self.metainterp,
- rop.GETARRAYITEM_GC, arraydescr, arraybox, indexbox)
+ resbox = executor.execute(self.metainterp.cpu, self.metainterp, op,
+ arraydescr, arraybox, indexbox)
assert resbox.constbox().same_constant(tobox.constbox())
return tobox
- resbox = self.execute_with_descr(rop.GETARRAYITEM_GC,
- arraydescr, arraybox, indexbox)
+ resbox = self.execute_with_descr(op, arraydescr, arraybox, indexbox)
self.metainterp.heapcache.getarrayitem_now_known(
arraybox, arraydescr, indexbox, resbox)
return resbox
More information about the pypy-commit
mailing list