]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-117826: Remove lookdict_index from delitemif_lock_held (gh-117869)
authorDonghee Na <donghee.na@python.org>
Mon, 15 Apr 2024 05:26:59 +0000 (14:26 +0900)
committerGitHub <noreply@github.com>
Mon, 15 Apr 2024 05:26:59 +0000 (14:26 +0900)
Objects/dictobject.c

index e7993e4b051433a34450be67b45d8a8845b40838..9c38ef2314684f3e38f6e4d62e3a98ba92244267 100644 (file)
@@ -2603,7 +2603,7 @@ static int
 delitemif_lock_held(PyObject *op, PyObject *key,
                     int (*predicate)(PyObject *value))
 {
-    Py_ssize_t hashpos, ix;
+    Py_ssize_t ix;
     PyDictObject *mp;
     Py_hash_t hash;
     PyObject *old_value;
@@ -2632,14 +2632,11 @@ delitemif_lock_held(PyObject *op, PyObject *key,
     if (res == -1)
         return -1;
 
-    hashpos = lookdict_index(mp->ma_keys, hash, ix);
-    assert(hashpos >= 0);
-
     if (res > 0) {
         PyInterpreterState *interp = _PyInterpreterState_GET();
         uint64_t new_version = _PyDict_NotifyEvent(
                 interp, PyDict_EVENT_DELETED, mp, key, NULL);
-        return delitem_common(mp, hashpos, ix, old_value, new_version);
+        return delitem_common(mp, hash, ix, old_value, new_version);
     } else {
         return 0;
     }