Author: Maciej Fijalkowski <[email protected]>
Branch: optresult-unroll
Changeset: r79333:d97a7a41ff5b
Date: 2015-08-31 20:26 +0200
http://bitbucket.org/pypy/pypy/changeset/d97a7a41ff5b/
Log: kill mark_opaque_ptr tests, the plan is to do it differently anyway
diff --git a/rpython/jit/metainterp/optimizeopt/test/test_optimizeopt.py
b/rpython/jit/metainterp/optimizeopt/test/test_optimizeopt.py
--- a/rpython/jit/metainterp/optimizeopt/test/test_optimizeopt.py
+++ b/rpython/jit/metainterp/optimizeopt/test/test_optimizeopt.py
@@ -8544,89 +8544,6 @@
"""
self.raises(InvalidLoop, self.optimize_loop, ops, ops)
- def test_licm_boxed_opaque_getitem(self):
- ops = """
- [p1]
- p2 = getfield_gc_r(p1, descr=nextdescr)
- mark_opaque_ptr(p2)
- guard_class(p2, ConstClass(node_vtable)) []
- i3 = getfield_gc_i(p2, descr=valuedescr)
- i4 = call_i(i3, descr=nonwritedescr)
- jump(p1)
- """
- expected = """
- [p1, p2, i3]
- i4 = call_i(i3, descr=nonwritedescr)
- jump(p1, p2, i3)
- """
- self.optimize_loop(ops, expected)
-
- def test_licm_boxed_opaque_getitem_unknown_class(self):
- # Explanation: the getfield_gc(p2) is done on what starts as
- # an opaque object. The getfield_gc(p1) is moved out of the
- # (non-preamble) loop. It looks like the getfield_gc(p2)
- # should also move out. However, moving the getfield_gc(p2)
- # earlier can be dangerous with opaque pointers: we can't move
- # it before other guards that indirectly check for which type
- # of object is in p2. (In this simple test there are no guard
- # at all between the start of the loop and the
- # getfield_gc(p2), but in general there are.)
- #
- # There are two cases: (1) moving the getfield_gc(p2) out of
- # the loop into the preamble: this does not look like a
- # problem because we already have a getfield_gc(p2) there, on
- # the same p2. Case (2) is moving the getfield_gc(p2) into
- # the short preamble: this is more problematic because the
- # short preamble can't do the indirect checking on p1.
- ops = """
- [p1]
- p2 = getfield_gc_r(p1, descr=nextdescr)
- mark_opaque_ptr(p2)
- i3 = getfield_gc_i(p2, descr=valuedescr)
- i4 = call_i(i3, descr=nonwritedescr)
- jump(p1)
- """
- expected = """
- [p1, p2]
- i3 = getfield_gc_i(p2, descr=valuedescr)
- i4 = call_i(i3, descr=nonwritedescr)
- jump(p1, p2)
- """
- self.optimize_loop(ops, expected)
-
- def test_licm_unboxed_opaque_getitem(self):
- ops = """
- [p2]
- mark_opaque_ptr(p2)
- guard_class(p2, ConstClass(node_vtable)) []
- i3 = getfield_gc_i(p2, descr=otherdescr)
- i4 = call_i(i3, descr=nonwritedescr)
- jump(p2)
- """
- expected = """
- [p1, i3]
- i4 = call_i(i3, descr=nonwritedescr)
- jump(p1, i3)
- """
- self.optimize_loop(ops, expected)
-
- def test_licm_unboxed_opaque_getitem_unknown_class(self):
- # see test_licm_boxed_opaque_getitem_unknown_class
- ops = """
- [p2]
- mark_opaque_ptr(p2)
- i3 = getfield_gc_i(p2, descr=otherdescr)
- i4 = call_i(i3, descr=nonwritedescr)
- jump(p2)
- """
- expected = """
- [p2]
- i3 = getfield_gc_i(p2, descr=otherdescr)
- i4 = call_i(i3, descr=nonwritedescr)
- jump(p2)
- """
- self.optimize_loop(ops, expected)
-
def test_only_strengthen_guard_if_class_matches_2(self):
ops = """
[p1]
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit