Message300193
in Objects/object.c, Py_ReprEnter() does the following:
- try to retrieve the Py_Repr list from the thread-state dict.
- in case the list is not in the dict, add it to the dict as an empty list.
- check whether the received object is in the Py_Repr list, even in case the
list was just created, and guaranteed to be empty.
I propose to put this check inside an else clause, so that it wouldn't take
place in case the list is guaranteed to be empty, i.e.:
list = _PyDict_GetItemId(dict, &PyId_Py_Repr);
if (list == NULL) {
list = PyList_New(0);
...
}
else {
i = PyList_GET_SIZE(list);
while (--i >= 0) {
if (PyList_GET_ITEM(list, i) == obj)
return 1;
}
}
I ran the test suite, and it seems that this change doesn't break anything, so
I would be happy to open a PR for it. |
|
Date |
User |
Action |
Args |
2017-08-12 10:37:02 | Oren Milman | set | recipients:
+ Oren Milman |
2017-08-12 10:37:02 | Oren Milman | set | messageid: <1502534222.01.0.165858988283.issue31187@psf.upfronthosting.co.za> |
2017-08-12 10:37:01 | Oren Milman | link | issue31187 messages |
2017-08-12 10:37:01 | Oren Milman | create | |
|