Author: Maciej Fijalkowski <fij...@gmail.com> Branch: dynamic-specialized-tuple Changeset: r54463:1011b0cf4476 Date: 2012-04-17 16:20 +0200 http://bitbucket.org/pypy/pypy/changeset/1011b0cf4476/
Log: copy this stuff to a descr, so caching is done by someone else 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,8 +22,6 @@ 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) self.rtyper = rtyper @@ -293,14 +291,12 @@ extrainfo, ffi_flags) def copy_and_change_descr_typeinfo_to_ptr(self, descr): - 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 + if hasattr(descr, 'typeinfo_to_ptr_descr'): + return descr.typeinfo_to_ptr_descr + new_descr = ArrayDescr(descr.basesize, descr.itemsize, + descr.lendescr, FLAG_POINTER) + descr.typeinfo_to_ptr_descr = new_descr + return new_descr def get_overflow_error(self): ovf_vtable = self.cast_adr_to_int(self._ovf_error_vtable) _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit