From: Raymond Hettinger Date: Sat, 4 Jul 2015 01:31:09 +0000 (-0700) Subject: Call set_lookkey() directly to avoid unnecessary memory spills and reloads. X-Git-Tag: v3.6.0a1~2004^2~10 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=3c1f52e829e9877225cb171d779aacc4c6353daf;p=python Call set_lookkey() directly to avoid unnecessary memory spills and reloads. --- diff --git a/Objects/setobject.c b/Objects/setobject.c index 56084c1d0b..bf9718e27f 100644 --- a/Objects/setobject.c +++ b/Objects/setobject.c @@ -678,7 +678,7 @@ set_contains_entry(PySetObject *so, setentry *entry) static int set_contains_key(PySetObject *so, PyObject *key) { - setentry entry; + setentry *entry; Py_hash_t hash; if (!PyUnicode_CheckExact(key) || @@ -687,9 +687,10 @@ set_contains_key(PySetObject *so, PyObject *key) if (hash == -1) return -1; } - entry.key = key; - entry.hash = hash; - return set_contains_entry(so, &entry); + entry = set_lookkey(so, key, hash); + if (entry == NULL) + return -1; + return entry->key != NULL; } static PyObject *