[pypy-svn] r71463 - pypy/branch/debug-vref3/pypy/jit/metainterp/test
arigo at codespeak.net
arigo at codespeak.net
Wed Feb 24 19:02:03 CET 2010
Author: arigo
Date: Wed Feb 24 19:02:01 2010
New Revision: 71463
Modified:
pypy/branch/debug-vref3/pypy/jit/metainterp/test/test_optimizeopt.py
Log:
Write a failing test.
Modified: pypy/branch/debug-vref3/pypy/jit/metainterp/test/test_optimizeopt.py
==============================================================================
--- pypy/branch/debug-vref3/pypy/jit/metainterp/test/test_optimizeopt.py (original)
+++ pypy/branch/debug-vref3/pypy/jit/metainterp/test/test_optimizeopt.py Wed Feb 24 19:02:01 2010
@@ -2664,6 +2664,34 @@
where p1b is a node_vtable, valuedescr=i1
''')
+ def test_vref_virtual_after_finish(self):
+ self.make_fail_descr()
+ ops = """
+ [i1]
+ p1 = new_with_vtable(ConstClass(node_vtable))
+ p2 = virtual_ref(p1, 7)
+ escape(p2)
+ virtual_ref_finish(p2, p1)
+ call_may_force(i1, descr=mayforcevirtdescr)
+ guard_not_forced() []
+ jump(i1)
+ """
+ expected = """
+ [i1]
+ i3 = force_token()
+ p2 = new_with_vtable(ConstClass(jit_virtual_ref_vtable))
+ setfield_gc(p2, i3, descr=virtualtokendescr)
+ setfield_gc(p2, 7, descr=virtualrefindexdescr)
+ escape(p2)
+ p1 = new_with_vtable(ConstClass(node_vtable))
+ setfield_gc(p2, p1, descr=virtualforceddescr)
+ setfield_gc(p2, -2, descr=virtualtokendescr)
+ call_may_force(i1, descr=mayforcevirtdescr)
+ guard_not_forced() []
+ jump(i1)
+ """
+ self.optimize_loop(ops, 'Not', expected)
+
def test_vref_nonvirtual_and_lazy_setfield(self):
self.make_fail_descr()
ops = """
More information about the Pypy-commit
mailing list