Author: Carl Friedrich Bolz <[email protected]> Branch: guard-compatible Changeset: r83374:a5db7ce2b186 Date: 2016-03-25 09:23 +0100 http://bitbucket.org/pypy/pypy/changeset/a5db7ce2b186/
Log: do annspecialcase for lookup after the mapdict stuff diff --git a/pypy/objspace/std/mapdict.py b/pypy/objspace/std/mapdict.py --- a/pypy/objspace/std/mapdict.py +++ b/pypy/objspace/std/mapdict.py @@ -1145,11 +1145,11 @@ # ____________________________________________________________ # various functions that replace objspace implementations [email protected]_or_var(2) def mapdict_lookup(space, w_obj, name): if we_are_jitted(): map = w_obj._get_mapdict_map_no_promote() if map is not None: return map._type_lookup(name) - w_type = space.type(w_obj) - return w_type.lookup(name) + return space._lookup(w_obj, name) diff --git a/pypy/objspace/std/objspace.py b/pypy/objspace/std/objspace.py --- a/pypy/objspace/std/objspace.py +++ b/pypy/objspace/std/objspace.py @@ -323,10 +323,15 @@ jit.promote(w_obj.__class__) return w_obj.getclass(self) + @specialize.arg_or_var(2) def lookup(self, w_obj, name): if self.config.objspace.std.withmapdict: from pypy.objspace.std.mapdict import mapdict_lookup return mapdict_lookup(self, w_obj, name) + # an indirection for the benefit of mapdict + return self._lookup(w_obj, name) + + def _lookup(self, w_obj, name): w_type = self.type(w_obj) return w_type.lookup(name) lookup._annspecialcase_ = 'specialize:lookup' _______________________________________________ pypy-commit mailing list [email protected] https://mail.python.org/mailman/listinfo/pypy-commit
