[pypy-svn] pypy jit-short_from_state: ensure arrays forces unsuported vritaul staring members

hakanardo commits-noreply at bitbucket.org
Wed Apr 27 10:22:11 CEST 2011


Author: Hakan Ardo <hakan at debian.org>
Branch: jit-short_from_state
Changeset: r43654:4b1dd6e30af2
Date: 2011-04-27 10:21 +0200
http://bitbucket.org/pypy/pypy/changeset/4b1dd6e30af2/

Log:	ensure arrays forces unsuported vritaul staring members

diff --git a/pypy/jit/metainterp/test/test_string.py b/pypy/jit/metainterp/test/test_string.py
--- a/pypy/jit/metainterp/test/test_string.py
+++ b/pypy/jit/metainterp/test/test_string.py
@@ -444,6 +444,23 @@
             return sa
         assert self.meta_interp(f, [16, 'a']) == f(16, 'a')
 
+    def test_loop_invariant_string_slize_in_array(self):
+        _str = self._str
+        mydriver = JitDriver(reds = ['i', 'n', 'sa', 's', 's1'], greens = [])
+        def f(n, c):
+            s = s1 = [_str(c*10)]
+            sa = i = 0
+            while i < n:
+                mydriver.jit_merge_point(i=i, n=n, sa=sa, s=s, s1=s1)
+                sa += len(s[0])
+                if i < n/2:
+                    s = [s1[0][1:3]]
+                else:
+                    s = [s1[0][2:3]]
+                i += 1
+            return sa
+        assert self.meta_interp(f, [16, 'a']) == f(16, 'a')
+
 #class TestOOtype(StringTests, OOJitMixin):
 #    CALL = "oosend"
 #    CALL_PURE = "oosend_pure"


More information about the Pypy-commit mailing list