[pypy-commit] pypy default: Add a failing test.

arigo noreply at buildbot.pypy.org
Mon Oct 17 11:49:56 CEST 2011


Author: Armin Rigo <arigo at tunes.org>
Branch: 
Changeset: r48116:0b99a4b937e0
Date: 2011-10-17 11:21 +0200
http://bitbucket.org/pypy/pypy/changeset/0b99a4b937e0/

Log:	Add a failing test.

diff --git a/pypy/jit/metainterp/test/test_quasiimmut.py b/pypy/jit/metainterp/test/test_quasiimmut.py
--- a/pypy/jit/metainterp/test/test_quasiimmut.py
+++ b/pypy/jit/metainterp/test/test_quasiimmut.py
@@ -457,6 +457,27 @@
                          getarrayitem_gc=0, getarrayitem_gc_pure=0,
                          call_may_force=0, guard_not_forced=0)
 
+    def test_invalidated_loop_is_not_used_any_more_as_target(self):
+        py.test.skip("in-progress")
+        myjitdriver = JitDriver(greens=['foo'], reds=['x'])
+        class Foo:
+            _immutable_fields_ = ['step?']
+        @dont_look_inside
+        def residual(x, foo):
+            if x == 20:
+                foo.step = 1
+        def f(x):
+            foo = Foo()
+            foo.step = 2
+            while x > 0:
+                myjitdriver.jit_merge_point(foo=foo, x=x)
+                residual(x, foo)
+                x -= foo.step
+            return foo.step
+        res = self.meta_interp(f, [60])
+        assert res == 1
+        self.check_tree_loop_count(3)   # maybe --- at least not 2 like now
+
 
 class TestLLtypeGreenFieldsTests(QuasiImmutTests, LLJitMixin):
     pass


More information about the pypy-commit mailing list