[pypy-commit] pypy dynamic-specialized-tuple: fix the test on x86

fijal noreply at buildbot.pypy.org
Sun Apr 8 18:02:59 CEST 2012


Author: Maciej Fijalkowski <fijall at gmail.com>
Branch: dynamic-specialized-tuple
Changeset: r54257:7a3a9c99b85d
Date: 2012-04-08 18:02 +0200
http://bitbucket.org/pypy/pypy/changeset/7a3a9c99b85d/

Log:	fix the test on x86

diff --git a/pypy/jit/backend/llsupport/llmodel.py b/pypy/jit/backend/llsupport/llmodel.py
--- a/pypy/jit/backend/llsupport/llmodel.py
+++ b/pypy/jit/backend/llsupport/llmodel.py
@@ -22,6 +22,7 @@
                  gcdescr=None):
         assert type(opts) is not bool
         self.opts = opts
+        self.arraydescr_cache = {}
 
         from pypy.jit.backend.llsupport.gc import get_ll_description
         AbstractCPU.__init__(self)
@@ -292,7 +293,14 @@
                                                  extrainfo, ffi_flags)
 
     def copy_and_change_descr_typeinfo_to_ptr(self, descr):
-        return ArrayDescr(descr.basesize, descr.itemsize, descr.lendescr, FLAG_POINTER)
+        key = (descr.basesize, descr.itemsize, descr.lendescr)
+        try:
+            return self.arraydescr_cache[key]
+        except KeyError:
+            new_descr = ArrayDescr(descr.basesize, descr.itemsize,
+                                   descr.lendescr, FLAG_POINTER)
+            self.arraydescr_cache[key] = new_descr
+            return new_descr
 
     def get_overflow_error(self):
         ovf_vtable = self.cast_adr_to_int(self._ovf_error_vtable)
diff --git a/pypy/jit/codewriter/jtransform.py b/pypy/jit/codewriter/jtransform.py
--- a/pypy/jit/codewriter/jtransform.py
+++ b/pypy/jit/codewriter/jtransform.py
@@ -1,4 +1,3 @@
-import copy
 
 import py
 


More information about the pypy-commit mailing list