bpo-40170: Use inline _PyType_HasFeature() function (GH-22375)
Use _PyType_HasFeature() in the _io module and in structseq implementation. Replace PyType_HasFeature() opaque function call with _PyType_HasFeature() inlined function.
This commit is contained in:
parent
b7d8d8dbfe
commit
97d15ae1d8
|
@ -349,8 +349,9 @@ iobase_dealloc(iobase *self)
|
|||
if (_PyIOBase_finalize((PyObject *) self) < 0) {
|
||||
/* When called from a heap type's dealloc, the type will be
|
||||
decref'ed on return (see e.g. subtype_dealloc in typeobject.c). */
|
||||
if (PyType_HasFeature(Py_TYPE(self), Py_TPFLAGS_HEAPTYPE))
|
||||
if (_PyType_HasFeature(Py_TYPE(self), Py_TPFLAGS_HEAPTYPE)) {
|
||||
Py_INCREF(Py_TYPE(self));
|
||||
}
|
||||
return;
|
||||
}
|
||||
_PyObject_GC_UNTRACK(self);
|
||||
|
|
|
@ -94,7 +94,7 @@ structseq_dealloc(PyStructSequence *obj)
|
|||
Py_XDECREF(obj->ob_item[i]);
|
||||
}
|
||||
PyObject_GC_Del(obj);
|
||||
if (PyType_GetFlags(tp) & Py_TPFLAGS_HEAPTYPE) {
|
||||
if (_PyType_HasFeature(tp, Py_TPFLAGS_HEAPTYPE)) {
|
||||
Py_DECREF(tp);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue