From: Victor Stinner Date: Fri, 30 Jun 2023 10:39:55 +0000 (+0200) Subject: Cleanup clear_static_tp_subclasses() (#106276) X-Git-Tag: v3.13.0a1~1588 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=1a2652ceaa55190a0b860abd1448095eafbdf238;p=thirdparty%2FPython%2Fcpython.git Cleanup clear_static_tp_subclasses() (#106276) Only iterate on the dictionary if Python is built with assertions: subclass is only needed when Python is built with assertions. --- diff --git a/Objects/typeobject.c b/Objects/typeobject.c index cc389bc3d6fa..e67945db9af3 100644 --- a/Objects/typeobject.c +++ b/Objects/typeobject.c @@ -5009,6 +5009,7 @@ clear_static_tp_subclasses(PyTypeObject *type) going to leak. This mostly only affects embedding scenarios. */ +#ifndef NDEBUG // For now we just do a sanity check and then clear tp_subclasses. Py_ssize_t i = 0; PyObject *key, *ref; // borrowed ref @@ -5021,6 +5022,7 @@ clear_static_tp_subclasses(PyTypeObject *type) assert(!(subclass->tp_flags & _Py_TPFLAGS_STATIC_BUILTIN)); Py_DECREF(subclass); } +#endif clear_tp_subclasses(type); }