@@ -1249,14 +1249,13 @@ _Py_dict_lookup() is general-purpose, and may return DKIX_ERROR if (and only if)
12491249comparison raises an exception.
12501250When the key isn't found a DKIX_EMPTY is returned.
12511251*/
1252- Py_ssize_t
1253- _Py_dict_lookup (PyDictObject * mp , PyObject * key , Py_hash_t hash , PyObject * * value_addr )
1252+ static inline Py_ssize_t
1253+ dict_lookup_impl (PyDictObject * mp , PyObject * key , Py_hash_t hash , PyObject * * value_addr )
12541254{
12551255 PyDictKeysObject * dk ;
12561256 DictKeysKind kind ;
12571257 Py_ssize_t ix ;
12581258
1259- _Py_CRITICAL_SECTION_ASSERT_OBJECT_LOCKED (mp );
12601259start :
12611260 dk = mp -> ma_keys ;
12621261 kind = dk -> dk_kind ;
@@ -1315,6 +1314,19 @@ _Py_dict_lookup(PyDictObject *mp, PyObject *key, Py_hash_t hash, PyObject **valu
13151314 return ix ;
13161315}
13171316
1317+ Py_ssize_t
1318+ _Py_dict_lookup (PyDictObject * mp , PyObject * key , Py_hash_t hash , PyObject * * value_addr )
1319+ {
1320+ _Py_CRITICAL_SECTION_ASSERT_OBJECT_LOCKED (mp );
1321+ return dict_lookup_impl (mp , key , hash , value_addr );
1322+ }
1323+
1324+ Py_ssize_t
1325+ _Py_frozendict_lookup (PyDictObject * mp , PyObject * key , Py_hash_t hash , PyObject * * value_addr )
1326+ {
1327+ return dict_lookup_impl (mp , key , hash , value_addr );
1328+ }
1329+
13181330#ifdef Py_GIL_DISABLED
13191331static inline void
13201332ensure_shared_on_read (PyDictObject * mp )
@@ -2492,11 +2504,11 @@ PyDict_GetItemRef(PyObject *op, PyObject *key, PyObject **result)
24922504 * Returns 1 if the key is present, 0 if the key is missing, and -1 if an
24932505 * exception occurred.
24942506*/
2495- int
2507+ static inline int
24962508_PyFrozenDict_GetItemRef_KnownHash (PyDictObject * op , PyObject * key , Py_hash_t hash , PyObject * * result )
24972509{
24982510 PyObject * value ;
2499- Py_ssize_t ix = _Py_dict_lookup (op , key , hash , & value );
2511+ Py_ssize_t ix = _Py_frozendict_lookup (op , key , hash , & value );
25002512 assert (ix >= 0 || value == NULL );
25012513 if (ix == DKIX_ERROR ) {
25022514 * result = NULL ;
0 commit comments