@@ -2384,7 +2384,7 @@ dict_getitem(PyObject *op, PyObject *key, const char *warnmsg)
23842384 }
23852385PyDictObject*mp= (PyDictObject*)op;
238623862387-Py_hash_thash=_PyObject_HashFast(key);
2387+Py_hash_thash=_PyObject_HashDictKey(key);
23882388if (hash==-1) {
23892389PyErr_FormatUnraisable(warnmsg);
23902390returnNULL;
@@ -2456,7 +2456,7 @@ _PyDict_LookupIndexAndValue(PyDictObject *mp, PyObject *key, PyObject **value)
24562456assert(PyDict_CheckExact((PyObject*)mp));
24572457assert(PyUnicode_CheckExact(key));
245824582459-Py_hash_thash=_PyObject_HashFast(key);
2459+Py_hash_thash=_PyObject_HashDictKey(key);
24602460if (hash==-1) {
24612461dict_unhashable_type((PyObject*)mp, key);
24622462return-1;
@@ -2560,7 +2560,7 @@ PyDict_GetItemRef(PyObject *op, PyObject *key, PyObject **result)
25602560return-1;
25612561 }
256225622563-Py_hash_thash=_PyObject_HashFast(key);
2563+Py_hash_thash=_PyObject_HashDictKey(key);
25642564if (hash==-1) {
25652565dict_unhashable_type(op, key);
25662566*result=NULL;
@@ -2576,7 +2576,7 @@ _PyDict_GetItemRef_Unicode_LockHeld(PyDictObject *op, PyObject *key, PyObject **
25762576ASSERT_DICT_LOCKED(op);
25772577assert(PyUnicode_CheckExact(key));
257825782579-Py_hash_thash=_PyObject_HashFast(key);
2579+Py_hash_thash=_PyObject_HashDictKey(key);
25802580if (hash==-1) {
25812581dict_unhashable_type((PyObject*)op, key);
25822582*result=NULL;
@@ -2614,7 +2614,7 @@ PyDict_GetItemWithError(PyObject *op, PyObject *key)
26142614PyErr_BadInternalCall();
26152615returnNULL;
26162616 }
2617-hash=_PyObject_HashFast(key);
2617+hash=_PyObject_HashDictKey(key);
26182618if (hash==-1) {
26192619dict_unhashable_type(op, key);
26202620returnNULL;
@@ -2673,7 +2673,7 @@ _PyDict_LoadGlobal(PyDictObject *globals, PyDictObject *builtins, PyObject *key)
26732673Py_hash_thash;
26742674PyObject*value;
267526752676-hash=_PyObject_HashFast(key);
2676+hash=_PyObject_HashDictKey(key);
26772677if (hash==-1) {
26782678returnNULL;
26792679 }
@@ -2697,7 +2697,7 @@ _PyDict_LoadGlobalStackRef(PyDictObject *globals, PyDictObject *builtins, PyObje
26972697Py_ssize_tix;
26982698Py_hash_thash;
269926992700-hash=_PyObject_HashFast(key);
2700+hash=_PyObject_HashDictKey(key);
27012701if (hash==-1) {
27022702*res=PyStackRef_NULL;
27032703return;
@@ -2774,7 +2774,7 @@ setitem_take2_lock_held_known_hash(PyDictObject *mp, PyObject *key, PyObject *va
27742774staticint
27752775setitem_take2_lock_held(PyDictObject*mp, PyObject*key, PyObject*value)
27762776{
2777-Py_hash_thash=_PyObject_HashFast(key);
2777+Py_hash_thash=_PyObject_HashDictKey(key);
27782778if (hash==-1) {
27792779dict_unhashable_type((PyObject*)mp, key);
27802780Py_DECREF(key);
@@ -2952,7 +2952,7 @@ int
29522952PyDict_DelItem(PyObject*op, PyObject*key)
29532953{
29542954assert(key);
2955-Py_hash_thash=_PyObject_HashFast(key);
2955+Py_hash_thash=_PyObject_HashDictKey(key);
29562956if (hash==-1) {
29572957dict_unhashable_type(op, key);
29582958return-1;
@@ -3296,7 +3296,7 @@ pop_lock_held(PyObject *op, PyObject *key, PyObject **result)
32963296return0;
32973297 }
329832983299-Py_hash_thash=_PyObject_HashFast(key);
3299+Py_hash_thash=_PyObject_HashDictKey(key);
33003300if (hash==-1) {
33013301dict_unhashable_type(op, key);
33023302if (result) {
@@ -3734,7 +3734,7 @@ _PyDict_SubscriptKnownHash(PyObject *self, PyObject *key, Py_hash_t hash)
37343734PyObject*
37353735_PyDict_Subscript(PyObject*self, PyObject*key)
37363736{
3737-Py_hash_thash=_PyObject_HashFast(key);
3737+Py_hash_thash=_PyObject_HashDictKey(key);
37383738if (hash==-1) {
37393739dict_unhashable_type(self, key);
37403740returnNULL;
@@ -4686,7 +4686,7 @@ dict_get_impl(PyDictObject *self, PyObject *key, PyObject *default_value)
46864686Py_hash_thash;
46874687Py_ssize_tix;
468846884689-hash=_PyObject_HashFast(key);
4689+hash=_PyObject_HashDictKey(key);
46904690if (hash==-1) {
46914691dict_unhashable_type((PyObject*)self, key);
46924692returnNULL;
@@ -4723,7 +4723,7 @@ dict_setdefault_ref_lock_held(PyObject *d, PyObject *key, PyObject *default_valu
47234723Py_hash_thash;
47244724Py_ssize_tix;
472547254726-hash=_PyObject_HashFast(key);
4726+hash=_PyObject_HashDictKey(key);
47274727if (hash==-1) {
47284728dict_unhashable_type(d, key);
47294729if (result) {
@@ -5165,7 +5165,7 @@ static PyMethodDef mapp_methods[] = {
51655165staticint
51665166dict_contains(PyObject*op, PyObject*key)
51675167{
5168-Py_hash_thash=_PyObject_HashFast(key);
5168+Py_hash_thash=_PyObject_HashDictKey(key);
51695169if (hash==-1) {
51705170dict_unhashable_type(op, key);
51715171return-1;
@@ -7298,7 +7298,7 @@ _PyDict_SetItem_LockHeld(PyDictObject *dict, PyObject *name, PyObject *value)
72987298 }
7299729973007300if (value==NULL) {
7301-Py_hash_thash=_PyObject_HashFast(name);
7301+Py_hash_thash=_PyObject_HashDictKey(name);
73027302if (hash==-1) {
73037303dict_unhashable_type((PyObject*)dict, name);
73047304return-1;