[pypy-svn] r70261 - pypy/branch/jit-delayed-write/pypy/jit/metainterp/test
arigo at codespeak.net
arigo at codespeak.net
Wed Dec 23 14:05:48 CET 2009
Author: arigo
Date: Wed Dec 23 14:05:47 2009
New Revision: 70261
Modified:
pypy/branch/jit-delayed-write/pypy/jit/metainterp/test/test_optimizeopt.py
Log:
Add a passing test.
Modified: pypy/branch/jit-delayed-write/pypy/jit/metainterp/test/test_optimizeopt.py
==============================================================================
--- pypy/branch/jit-delayed-write/pypy/jit/metainterp/test/test_optimizeopt.py (original)
+++ pypy/branch/jit-delayed-write/pypy/jit/metainterp/test/test_optimizeopt.py Wed Dec 23 14:05:47 2009
@@ -2031,6 +2031,27 @@
"""
self.optimize_loop(ops, 'Not, Not, Not', expected)
+ def test_setfield_might_alias(self):
+ # the point is that p1 and p2 might be equal or not
+ ops = """
+ [p1, p2, i1, i1a]
+ setfield_gc(p1, i1, descr=adescr)
+ setfield_gc(p2, i1a, descr=adescr)
+ i2 = call(i1, descr=readadescr)
+ i3a = getfield_gc(p2, descr=adescr) # can go away
+ i3 = getfield_gc(p1, descr=adescr) # cannot go away
+ jump(p1, p2, i3, i1a)
+ """
+ expected = """
+ [p1, p2, i1, i1a]
+ setfield_gc(p1, i1, descr=adescr)
+ setfield_gc(p2, i1a, descr=adescr)
+ i2 = call(i1, descr=readadescr)
+ i3 = getfield_gc(p1, descr=adescr)
+ jump(p1, p2, i3, i1a)
+ """
+ self.optimize_loop(ops, 'Not, Not, Not, Not', expected)
+
def test_residual_call_invalidates_some_read_caches(self):
ops = """
[p1, i1, p2, i2]
More information about the Pypy-commit
mailing list