[pypy-commit] pypy remove-dict-smm: Remove dict.setdefault SMM.
Manuel Jacob
noreply at buildbot.pypy.org
Tue May 14 17:20:47 CEST 2013
Author: Manuel Jacob
Branch: remove-dict-smm
Changeset: r64083:41bfd843576c
Date: 2013-05-14 17:03 +0200
http://bitbucket.org/pypy/pypy/changeset/41bfd843576c/
Log: Remove dict.setdefault SMM.
diff --git a/pypy/objspace/std/dictmultiobject.py b/pypy/objspace/std/dictmultiobject.py
--- a/pypy/objspace/std/dictmultiobject.py
+++ b/pypy/objspace/std/dictmultiobject.py
@@ -200,8 +200,10 @@
space.wrap("popitem(): dictionary is empty"))
return space.newtuple([w_key, w_value])
-# def descr_setdefault(self, space):
-# """"""
+ @gateway.unwrap_spec(w_default=gateway.WrappedDefault(None))
+ def descr_setdefault(self, space, w_key, w_default):
+ """D.setdefault(k[,d]) -> D.get(k,d), also set D[k]=d if k not in D"""
+ return self.setdefault(w_key, w_default)
# def descr_update(self, space):
# """"""
@@ -995,9 +997,6 @@
w_res = space.lt(w_leftval, w_rightval)
return w_res
-def dict_setdefault__DictMulti_ANY_ANY(space, w_dict, w_key, w_default):
- return w_dict.setdefault(w_key, w_default)
-
# ____________________________________________________________
# Iteration
@@ -1252,7 +1251,7 @@
get = gateway.interp2app(W_DictMultiObject.descr_get),
pop = gateway.interp2app(W_DictMultiObject.descr_pop),
popitem = gateway.interp2app(W_DictMultiObject.descr_popitem),
- #setdefault = gateway.interp2app(W_DictMultiObject.descr_setdefault),
+ setdefault = gateway.interp2app(W_DictMultiObject.descr_setdefault),
#update = gateway.interp2app(W_DictMultiObject.descr_update),
#reversed = gateway.interp2app(W_DictMultiObject.descr_reversed),
)
More information about the pypy-commit
mailing list