@@ -77,12 +77,7 @@ PyObject *CPyDict_SetDefault(PyObject *dict, PyObject *key, PyObject *value) {
7777 Py_XINCREF (ret );
7878 return ret ;
7979 }
80- _Py_IDENTIFIER (setdefault );
81- PyObject * name = _PyUnicode_FromId (& PyId_setdefault ); /* borrowed */
82- if (name == NULL ) {
83- return NULL ;
84- }
85- return PyObject_CallMethodObjArgs (dict , name , key , value , NULL );
80+ return PyObject_CallMethodObjArgs (dict , mypyc_interned_str .setdefault , key , value , NULL );
8681}
8782
8883PyObject * CPyDict_SetDefaultWithNone (PyObject * dict , PyObject * key ) {
@@ -136,12 +131,7 @@ static inline int CPy_ObjectToStatus(PyObject *obj) {
136131}
137132
138133static int CPyDict_UpdateGeneral (PyObject * dict , PyObject * stuff ) {
139- _Py_IDENTIFIER (update );
140- PyObject * name = _PyUnicode_FromId (& PyId_update ); /* borrowed */
141- if (name == NULL ) {
142- return -1 ;
143- }
144- PyObject * res = PyObject_CallMethodOneArg (dict , name , stuff );
134+ PyObject * res = PyObject_CallMethodOneArg (dict , mypyc_interned_str .update , stuff );
145135 return CPy_ObjectToStatus (res );
146136}
147137
@@ -169,8 +159,7 @@ int CPyDict_Update(PyObject *dict, PyObject *stuff) {
169159int CPyDict_UpdateFromAny (PyObject * dict , PyObject * stuff ) {
170160 if (PyDict_CheckExact (dict )) {
171161 // Argh this sucks
172- _Py_IDENTIFIER (keys );
173- if (PyDict_Check (stuff ) || _CPyObject_HasAttrId (stuff , & PyId_keys )) {
162+ if (PyDict_Check (stuff ) || _CPyObject_HasAttr (stuff , mypyc_interned_str .keys )) {
174163 return PyDict_Update (dict , stuff );
175164 } else {
176165 return PyDict_MergeFromSeq2 (dict , stuff , 1 );
@@ -189,8 +178,7 @@ PyObject *CPyDict_FromAny(PyObject *obj) {
189178 if (!dict ) {
190179 return NULL ;
191180 }
192- _Py_IDENTIFIER (keys );
193- if (_CPyObject_HasAttrId (obj , & PyId_keys )) {
181+ if (_CPyObject_HasAttr (obj , mypyc_interned_str .keys )) {
194182 res = PyDict_Update (dict , obj );
195183 } else {
196184 res = PyDict_MergeFromSeq2 (dict , obj , 1 );
@@ -207,36 +195,21 @@ PyObject *CPyDict_KeysView(PyObject *dict) {
207195 if (PyDict_CheckExact (dict )){
208196 return _CPyDictView_New (dict , & PyDictKeys_Type );
209197 }
210- _Py_IDENTIFIER (keys );
211- PyObject * name = _PyUnicode_FromId (& PyId_keys ); /* borrowed */
212- if (name == NULL ) {
213- return NULL ;
214- }
215- return PyObject_CallMethodNoArgs (dict , name );
198+ return PyObject_CallMethodNoArgs (dict , mypyc_interned_str .keys );
216199}
217200
218201PyObject * CPyDict_ValuesView (PyObject * dict ) {
219202 if (PyDict_CheckExact (dict )){
220203 return _CPyDictView_New (dict , & PyDictValues_Type );
221204 }
222- _Py_IDENTIFIER (values );
223- PyObject * name = _PyUnicode_FromId (& PyId_values ); /* borrowed */
224- if (name == NULL ) {
225- return NULL ;
226- }
227- return PyObject_CallMethodNoArgs (dict , name );
205+ return PyObject_CallMethodNoArgs (dict , mypyc_interned_str .values );
228206}
229207
230208PyObject * CPyDict_ItemsView (PyObject * dict ) {
231209 if (PyDict_CheckExact (dict )){
232210 return _CPyDictView_New (dict , & PyDictItems_Type );
233211 }
234- _Py_IDENTIFIER (items );
235- PyObject * name = _PyUnicode_FromId (& PyId_items ); /* borrowed */
236- if (name == NULL ) {
237- return NULL ;
238- }
239- return PyObject_CallMethodNoArgs (dict , name );
212+ return PyObject_CallMethodNoArgs (dict , mypyc_interned_str .items );
240213}
241214
242215PyObject * CPyDict_Keys (PyObject * dict ) {
@@ -245,12 +218,7 @@ PyObject *CPyDict_Keys(PyObject *dict) {
245218 }
246219 // Inline generic fallback logic to also return a list.
247220 PyObject * list = PyList_New (0 );
248- _Py_IDENTIFIER (keys );
249- PyObject * name = _PyUnicode_FromId (& PyId_keys ); /* borrowed */
250- if (name == NULL ) {
251- return NULL ;
252- }
253- PyObject * view = PyObject_CallMethodNoArgs (dict , name );
221+ PyObject * view = PyObject_CallMethodNoArgs (dict , mypyc_interned_str .keys );
254222 if (view == NULL ) {
255223 return NULL ;
256224 }
@@ -268,12 +236,7 @@ PyObject *CPyDict_Values(PyObject *dict) {
268236 }
269237 // Inline generic fallback logic to also return a list.
270238 PyObject * list = PyList_New (0 );
271- _Py_IDENTIFIER (values );
272- PyObject * name = _PyUnicode_FromId (& PyId_values ); /* borrowed */
273- if (name == NULL ) {
274- return NULL ;
275- }
276- PyObject * view = PyObject_CallMethodNoArgs (dict , name );
239+ PyObject * view = PyObject_CallMethodNoArgs (dict , mypyc_interned_str .values );
277240 if (view == NULL ) {
278241 return NULL ;
279242 }
@@ -291,12 +254,7 @@ PyObject *CPyDict_Items(PyObject *dict) {
291254 }
292255 // Inline generic fallback logic to also return a list.
293256 PyObject * list = PyList_New (0 );
294- _Py_IDENTIFIER (items );
295- PyObject * name = _PyUnicode_FromId (& PyId_items ); /* borrowed */
296- if (name == NULL ) {
297- return NULL ;
298- }
299- PyObject * view = PyObject_CallMethodNoArgs (dict , name );
257+ PyObject * view = PyObject_CallMethodNoArgs (dict , mypyc_interned_str .items );
300258 if (view == NULL ) {
301259 return NULL ;
302260 }
@@ -312,12 +270,7 @@ char CPyDict_Clear(PyObject *dict) {
312270 if (PyDict_CheckExact (dict )) {
313271 PyDict_Clear (dict );
314272 } else {
315- _Py_IDENTIFIER (clear );
316- PyObject * name = _PyUnicode_FromId (& PyId_clear ); /* borrowed */
317- if (name == NULL ) {
318- return 0 ;
319- }
320- PyObject * res = PyObject_CallMethodNoArgs (dict , name );
273+ PyObject * res = PyObject_CallMethodNoArgs (dict , mypyc_interned_str .clear );
321274 if (res == NULL ) {
322275 return 0 ;
323276 }
@@ -329,12 +282,7 @@ PyObject *CPyDict_Copy(PyObject *dict) {
329282 if (PyDict_CheckExact (dict )) {
330283 return PyDict_Copy (dict );
331284 }
332- _Py_IDENTIFIER (copy );
333- PyObject * name = _PyUnicode_FromId (& PyId_copy ); /* borrowed */
334- if (name == NULL ) {
335- return NULL ;
336- }
337- return PyObject_CallMethodNoArgs (dict , name );
285+ return PyObject_CallMethodNoArgs (dict , mypyc_interned_str .copy );
338286}
339287
340288PyObject * CPyDict_GetKeysIter (PyObject * dict ) {
@@ -352,12 +300,7 @@ PyObject *CPyDict_GetItemsIter(PyObject *dict) {
352300 Py_INCREF (dict );
353301 return dict ;
354302 }
355- _Py_IDENTIFIER (items );
356- PyObject * name = _PyUnicode_FromId (& PyId_items ); /* borrowed */
357- if (name == NULL ) {
358- return NULL ;
359- }
360- PyObject * view = PyObject_CallMethodNoArgs (dict , name );
303+ PyObject * view = PyObject_CallMethodNoArgs (dict , mypyc_interned_str .items );
361304 if (view == NULL ) {
362305 return NULL ;
363306 }
@@ -372,12 +315,7 @@ PyObject *CPyDict_GetValuesIter(PyObject *dict) {
372315 Py_INCREF (dict );
373316 return dict ;
374317 }
375- _Py_IDENTIFIER (values );
376- PyObject * name = _PyUnicode_FromId (& PyId_values ); /* borrowed */
377- if (name == NULL ) {
378- return NULL ;
379- }
380- PyObject * view = PyObject_CallMethodNoArgs (dict , name );
318+ PyObject * view = PyObject_CallMethodNoArgs (dict , mypyc_interned_str .values );
381319 if (view == NULL ) {
382320 return NULL ;
383321 }
0 commit comments