[pypy-commit] pypy default: Windows fix: unicode chars are size 2.

arigo pypy.commits at gmail.com
Thu Apr 14 02:38:01 EDT 2016


Author: Armin Rigo <arigo at tunes.org>
Branch: 
Changeset: r83662:ab3f2b26b098
Date: 2016-04-14 08:19 +0200
http://bitbucket.org/pypy/pypy/changeset/ab3f2b26b098/

Log:	Windows fix: unicode chars are size 2.

	Also, clean up after running the test.

diff --git a/rpython/jit/backend/llsupport/test/test_rewrite.py b/rpython/jit/backend/llsupport/test/test_rewrite.py
--- a/rpython/jit/backend/llsupport/test/test_rewrite.py
+++ b/rpython/jit/backend/llsupport/test/test_rewrite.py
@@ -1217,12 +1217,12 @@
                                '%(unicodelendescr.field_size)s)'],
 
         ## getitem str/unicode
-        [True,  (4,),  'i3 = unicodegetitem(p0,i1)' '->'
+        [True,  (2,4), 'i3 = unicodegetitem(p0,i1)' '->'
                        'i3 = gc_load_indexed_i(p0,i1,'
                                   '%(unicodedescr.itemsize)d,'
                                   '%(unicodedescr.basesize)d,'
                                   '%(unicodedescr.itemsize)d)'],
-        #[False, (4,),  'i3 = unicodegetitem(p0,i1)' '->'
+        #[False, (2,4), 'i3 = unicodegetitem(p0,i1)' '->'
         #               'i4 = int_mul(i1, %(unicodedescr.itemsize)d);'
         #               'i5 = int_add(i4, %(unicodedescr.basesize)d);'
         #               'i3 = gc_load_i(p0,i5,%(unicodedescr.itemsize)d)'],
@@ -1236,7 +1236,7 @@
         [True, (4,),  'i3 = strsetitem(p0,i1,0)' '->'
                       'i3 = gc_store_indexed(p0,i1,0,1,'
                                '%(strdescr.basesize)d,1)'],
-        [True, (4,),  'i3 = unicodesetitem(p0,i1,0)' '->'
+        [True, (2,4), 'i3 = unicodesetitem(p0,i1,0)' '->'
                       'i3 = gc_store_indexed(p0,i1,0,'
                                  '%(unicodedescr.itemsize)d,'
                                  '%(unicodedescr.basesize)d,'
@@ -1277,19 +1277,22 @@
 
         if not factors:
             all_supported_sizes = [(1,), (1,2,), (4,), (1,2,4,8)]
-        for factors in all_supported_sizes:
-            self.cpu.load_supported_factors = factors
-            f, t = fromto.split('->')
-            t = ('\n' +(' '*16)).join([s for s in t.split(';')])
-            self.check_rewrite("""
-                [p0,i1,i2]
-                {f}
-                jump()
-            """.format(**locals()), """
-                [p0,i1,i2]
-                {t}
-                jump()
-            """.format(**locals()))
+        try:
+            for factors in all_supported_sizes:
+                self.cpu.load_supported_factors = factors
+                f, t = fromto.split('->')
+                t = ('\n' +(' '*20)).join([s for s in t.split(';')])
+                self.check_rewrite("""
+                    [p0,i1,i2]
+                    {f}
+                    jump()
+                """.format(**locals()), """
+                    [p0,i1,i2]
+                    {t}
+                    jump()
+                """.format(**locals()))
+        finally:
+            del self.cpu.load_supported_factors   # restore class-level value
 
     def test_load_from_gc_table_1i(self):
         self.check_rewrite("""


More information about the pypy-commit mailing list