Author: Maciej Fijalkowski <[email protected]>
Branch: optresult-unroll
Changeset: r79399:fb30f10ab865
Date: 2015-09-03 20:05 +0200
http://bitbucket.org/pypy/pypy/changeset/fb30f10ab865/
Log: write some tests and fix the random order
diff --git a/rpython/jit/metainterp/optimizeopt/test/test_optimizebasic.py
b/rpython/jit/metainterp/optimizeopt/test/test_optimizebasic.py
--- a/rpython/jit/metainterp/optimizeopt/test/test_optimizebasic.py
+++ b/rpython/jit/metainterp/optimizeopt/test/test_optimizebasic.py
@@ -2743,6 +2743,11 @@
#
# initialize p1.getref_base() to return a random pointer to a NODE
# (it doesn't have to be self.nodeaddr, but it's convenient)
+ failargs = self.loop.operations[1].getfailargs()
+ if failargs[0].type == 'r':
+ values = [InputArgRef(self.nodeaddr), InputArgInt(0)]
+ else:
+ values = [InputArgInt(0), InputArgRef(self.nodeaddr)]
assert hasattr(self.oparse.getvar('p1'), '_resref')
self.oparse.getvar('p1')._resref = self.nodeaddr
#
@@ -2750,8 +2755,7 @@
'''
p1.nextdescr = p2
where p2 is a node_vtable, valuedescr=i2
- ''', rop.GUARD_TRUE, values=[InputArgRef(self.nodeaddr),
- InputArgInt(0)])
+ ''', rop.GUARD_TRUE, values=values)
def test_expand_fail_lazy_setfield_2(self):
ops = """
@@ -3637,7 +3641,7 @@
ops = """
[i0, p0]
p1 = new_array(i0, descr=arraydescr)
- i1 = arraylen_gc(p1)
+ i1 = arraylen_gc(p1, descr=arraydescr)
i2 = int_gt(i1, -1)
guard_true(i2) []
setarrayitem_gc(p0, 0, p1, descr=arraydescr)
@@ -3647,7 +3651,7 @@
expected = """
[i0, p0]
p1 = new_array(i0, descr=arraydescr)
- i1 = arraylen_gc(p1)
+ i1 = arraylen_gc(p1, descr=arraydescr)
setarrayitem_gc(p0, 0, p1, descr=arraydescr)
jump(i0, p0)
"""
@@ -5805,5 +5809,29 @@
"""
self.optimize_loop(ops, expected)
+ def test_remove_guard_gc_type(self):
+ ops = """
+ [p0, p1]
+ setarrayitem_gc(p0, 1, p1, descr=gcarraydescr)
+ guard_gc_type(p0, ConstInt(gcarraydescr_tid)) []
+ """
+ expected = """
+ [p0, p1]
+ setarrayitem_gc(p0, 1, p1, descr=gcarraydescr)
+ """
+ self.optimize_loop(ops, expected)
+
+ def test_remove_guard_is_object_1(self):
+ ops = """
+ [p0]
+ guard_class(p0, ConstClass(node_vtable)) []
+ guard_is_object(p0) []
+ """
+ expected = """
+ [p0]
+ guard_class(p0, ConstClass(node_vtable)) []
+ """
+ self.optimize_loop(ops, expected)
+
class TestLLtype(BaseTestOptimizeBasic, LLtypeMixin):
pass
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit