Author: Hakan Ardo <ha...@debian.org> Branch: jit-short_from_state Changeset: r46252:ae3dc8168a0c Date: 2011-08-02 20:44 +0200 http://bitbucket.org/pypy/pypy/changeset/ae3dc8168a0c/
Log: virtual diff --git a/pypy/jit/metainterp/test/test_virtualstate.py b/pypy/jit/metainterp/test/test_virtualstate.py --- a/pypy/jit/metainterp/test/test_virtualstate.py +++ b/pypy/jit/metainterp/test/test_virtualstate.py @@ -323,6 +323,38 @@ """ self.optimize_bridge(loops, loops[2], expected, 'Loop2') + def test_virtual(self): + loops = """ + [p0, p1] + p2 = new_with_vtable(ConstClass(node_vtable)) + setfield_gc(p2, p1, descr=nextdescr) + setfield_gc(p2, 7, descr=adescr) + setfield_gc(p2, 42, descr=bdescr) + jump(p2, p1) + """ + expected = """ + [p0, p1] + jump(p1) + """ + self.optimize_bridge(loops, loops, expected, 'Loop0') + bridge = """ + [p0, p1] + p2 = new_with_vtable(ConstClass(node_vtable)) + setfield_gc(p2, p1, descr=nextdescr) + setfield_gc(p2, 42, descr=adescr) + setfield_gc(p2, 7, descr=bdescr) + jump(p2, p1) + """ + self.optimize_bridge(loops, bridge, "RETRACE") + bridge = """ + [p0, p1] + p2 = new_with_vtable(ConstClass(node_vtable)) + setfield_gc(p2, p1, descr=nextdescr) + setfield_gc(p2, 7, descr=adescr) + jump(p2, p1) + """ + self.optimize_bridge(loops, bridge, "RETRACE") + class TestLLtypeGuards(BaseTestGenerateGuards, LLtypeMixin): pass _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit