[pypy-commit] pypy jit-short_from_state: This currently passes on default but gets an extra getfield_gc_pure on jit-short_from_state. Not sure how to best handle it...

hakanardo noreply at buildbot.pypy.org
Tue Aug 9 20:30:59 CEST 2011


Author: Hakan Ardo <hakan at debian.org>
Branch: jit-short_from_state
Changeset: r46401:d30cd07fd56d
Date: 2011-08-09 20:31 +0200
http://bitbucket.org/pypy/pypy/changeset/d30cd07fd56d/

Log:	This currently passes on default but gets an extra getfield_gc_pure
	on jit-short_from_state. Not sure how to best handle it...

diff --git a/pypy/jit/metainterp/optimizeopt/test/test_optimizeopt.py b/pypy/jit/metainterp/optimizeopt/test/test_optimizeopt.py
--- a/pypy/jit/metainterp/optimizeopt/test/test_optimizeopt.py
+++ b/pypy/jit/metainterp/optimizeopt/test/test_optimizeopt.py
@@ -6998,6 +6998,32 @@
         jump(p5, p6, i10, i10)
         """
         self.optimize_loop(ops, expected)
+        
+    def test_forced_counter(self):
+        ops = """
+        [p5, p8]
+        i9 = getfield_gc_pure(p5, descr=valuedescr)
+        call(i9, descr=nonwritedescr)
+        i11 = getfield_gc_pure(p8, descr=valuedescr)
+        i13 = int_add_ovf(i11, 1)
+        guard_no_overflow() []
+        p22 = new_with_vtable(ConstClass(node_vtable))
+        setfield_gc(p22, i13, descr=valuedescr)
+        setfield_gc(ConstPtr(myptr), p22, descr=adescr)
+        jump(p22, p22)
+        """
+        expected = """
+        [p8, i9]
+        call(i9, descr=nonwritedescr)
+        i13 = int_add_ovf(i9, 1)
+        guard_no_overflow() []
+        p22 = new_with_vtable(ConstClass(node_vtable))
+        setfield_gc(p22, i13, descr=valuedescr)
+        setfield_gc(ConstPtr(myptr), p22, descr=adescr)
+        jump(p22, i13)
+        """
+        self.optimize_loop(ops, expected)
+        
 
 class TestLLtype(OptimizeOptTest, LLtypeMixin):
     pass


More information about the pypy-commit mailing list