mirror of https://github.com/python/cpython
Replace PyObject_Del with PyObject_Free (#122453)
PyObject_Del() is just a alias to PyObject_Free() kept for backward compatibility. Use directly PyObject_Free() instead.
This commit is contained in:
parent
88030861e2
commit
fda6bd842a
|
@ -650,7 +650,7 @@ and :c:data:`PyType_Type` effectively act as defaults.)
|
||||||
(doesn't have the :c:macro:`Py_TPFLAGS_BASETYPE` flag bit set), it is
|
(doesn't have the :c:macro:`Py_TPFLAGS_BASETYPE` flag bit set), it is
|
||||||
permissible to call the object deallocator directly instead of via
|
permissible to call the object deallocator directly instead of via
|
||||||
:c:member:`~PyTypeObject.tp_free`. The object deallocator should be the one used to allocate the
|
:c:member:`~PyTypeObject.tp_free`. The object deallocator should be the one used to allocate the
|
||||||
instance; this is normally :c:func:`PyObject_Del` if the instance was allocated
|
instance; this is normally :c:func:`PyObject_Free` if the instance was allocated
|
||||||
using :c:macro:`PyObject_New` or :c:macro:`PyObject_NewVar`, or
|
using :c:macro:`PyObject_New` or :c:macro:`PyObject_NewVar`, or
|
||||||
:c:func:`PyObject_GC_Del` if the instance was allocated using
|
:c:func:`PyObject_GC_Del` if the instance was allocated using
|
||||||
:c:macro:`PyObject_GC_New` or :c:macro:`PyObject_GC_NewVar`.
|
:c:macro:`PyObject_GC_New` or :c:macro:`PyObject_GC_NewVar`.
|
||||||
|
@ -1954,7 +1954,7 @@ and :c:data:`PyType_Type` effectively act as defaults.)
|
||||||
match :c:func:`PyType_GenericAlloc` and the value of the
|
match :c:func:`PyType_GenericAlloc` and the value of the
|
||||||
:c:macro:`Py_TPFLAGS_HAVE_GC` flag bit.
|
:c:macro:`Py_TPFLAGS_HAVE_GC` flag bit.
|
||||||
|
|
||||||
For static subtypes, :c:data:`PyBaseObject_Type` uses :c:func:`PyObject_Del`.
|
For static subtypes, :c:data:`PyBaseObject_Type` uses :c:func:`PyObject_Free`.
|
||||||
|
|
||||||
|
|
||||||
.. c:member:: inquiry PyTypeObject.tp_is_gc
|
.. c:member:: inquiry PyTypeObject.tp_is_gc
|
||||||
|
|
|
@ -72,7 +72,7 @@ without_gc(PyObject *Py_UNUSED(self), PyObject *obj)
|
||||||
if (PyType_IS_GC(tp)) {
|
if (PyType_IS_GC(tp)) {
|
||||||
// Don't try this at home, kids:
|
// Don't try this at home, kids:
|
||||||
tp->tp_flags -= Py_TPFLAGS_HAVE_GC;
|
tp->tp_flags -= Py_TPFLAGS_HAVE_GC;
|
||||||
tp->tp_free = PyObject_Del;
|
tp->tp_free = PyObject_Free;
|
||||||
tp->tp_traverse = NULL;
|
tp->tp_traverse = NULL;
|
||||||
tp->tp_clear = NULL;
|
tp->tp_clear = NULL;
|
||||||
}
|
}
|
||||||
|
|
|
@ -289,7 +289,7 @@ static PyTypeObject _HashInheritanceTester_Type = {
|
||||||
"hashinheritancetester", /* Name of this type */
|
"hashinheritancetester", /* Name of this type */
|
||||||
sizeof(PyObject), /* Basic object size */
|
sizeof(PyObject), /* Basic object size */
|
||||||
0, /* Item size for varobject */
|
0, /* Item size for varobject */
|
||||||
(destructor)PyObject_Del, /* tp_dealloc */
|
(destructor)PyObject_Free, /* tp_dealloc */
|
||||||
0, /* tp_vectorcall_offset */
|
0, /* tp_vectorcall_offset */
|
||||||
0, /* tp_getattr */
|
0, /* tp_getattr */
|
||||||
0, /* tp_setattr */
|
0, /* tp_setattr */
|
||||||
|
@ -3587,7 +3587,7 @@ static PyTypeObject matmulType = {
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
PyType_GenericNew, /* tp_new */
|
PyType_GenericNew, /* tp_new */
|
||||||
PyObject_Del, /* tp_free */
|
PyObject_Free, /* tp_free */
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
@ -3699,7 +3699,7 @@ static PyTypeObject awaitType = {
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
awaitObject_new, /* tp_new */
|
awaitObject_new, /* tp_new */
|
||||||
PyObject_Del, /* tp_free */
|
PyObject_Free, /* tp_free */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -2426,7 +2426,7 @@ PyTypeObject PyByteArray_Type = {
|
||||||
(initproc)bytearray___init__, /* tp_init */
|
(initproc)bytearray___init__, /* tp_init */
|
||||||
PyType_GenericAlloc, /* tp_alloc */
|
PyType_GenericAlloc, /* tp_alloc */
|
||||||
PyType_GenericNew, /* tp_new */
|
PyType_GenericNew, /* tp_new */
|
||||||
PyObject_Del, /* tp_free */
|
PyObject_Free, /* tp_free */
|
||||||
};
|
};
|
||||||
|
|
||||||
/*********************** Bytearray Iterator ****************************/
|
/*********************** Bytearray Iterator ****************************/
|
||||||
|
|
|
@ -3066,7 +3066,7 @@ PyTypeObject PyBytes_Type = {
|
||||||
0, /* tp_init */
|
0, /* tp_init */
|
||||||
bytes_alloc, /* tp_alloc */
|
bytes_alloc, /* tp_alloc */
|
||||||
bytes_new, /* tp_new */
|
bytes_new, /* tp_new */
|
||||||
PyObject_Del, /* tp_free */
|
PyObject_Free, /* tp_free */
|
||||||
};
|
};
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
|
@ -1352,7 +1352,7 @@ PyTypeObject _PyLineIterator = {
|
||||||
0, /* tp_init */
|
0, /* tp_init */
|
||||||
0, /* tp_alloc */
|
0, /* tp_alloc */
|
||||||
0, /* tp_new */
|
0, /* tp_new */
|
||||||
PyObject_Del, /* tp_free */
|
PyObject_Free, /* tp_free */
|
||||||
};
|
};
|
||||||
|
|
||||||
static lineiterator *
|
static lineiterator *
|
||||||
|
@ -1443,7 +1443,7 @@ PyTypeObject _PyPositionsIterator = {
|
||||||
0, /* tp_init */
|
0, /* tp_init */
|
||||||
0, /* tp_alloc */
|
0, /* tp_alloc */
|
||||||
0, /* tp_new */
|
0, /* tp_new */
|
||||||
PyObject_Del, /* tp_free */
|
PyObject_Free, /* tp_free */
|
||||||
};
|
};
|
||||||
|
|
||||||
static PyObject*
|
static PyObject*
|
||||||
|
|
|
@ -1247,5 +1247,5 @@ PyTypeObject PyComplex_Type = {
|
||||||
0, /* tp_init */
|
0, /* tp_init */
|
||||||
PyType_GenericAlloc, /* tp_alloc */
|
PyType_GenericAlloc, /* tp_alloc */
|
||||||
actual_complex_new, /* tp_new */
|
actual_complex_new, /* tp_new */
|
||||||
PyObject_Del, /* tp_free */
|
PyObject_Free, /* tp_free */
|
||||||
};
|
};
|
||||||
|
|
|
@ -462,7 +462,7 @@ PyTypeObject PyStdPrinter_Type = {
|
||||||
0, /* tp_init */
|
0, /* tp_init */
|
||||||
PyType_GenericAlloc, /* tp_alloc */
|
PyType_GenericAlloc, /* tp_alloc */
|
||||||
0, /* tp_new */
|
0, /* tp_new */
|
||||||
PyObject_Del, /* tp_free */
|
PyObject_Free, /* tp_free */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -276,7 +276,7 @@ tp_dictoffset (__dict__) - -
|
||||||
tp_init __init__ object_init dict_init
|
tp_init __init__ object_init dict_init
|
||||||
tp_alloc - PyType_GenericAlloc (repeated)
|
tp_alloc - PyType_GenericAlloc (repeated)
|
||||||
tp_new __new__ object_new dict_new
|
tp_new __new__ object_new dict_new
|
||||||
tp_free - PyObject_Del PyObject_GC_Del
|
tp_free - PyObject_Free PyObject_GC_Del
|
||||||
================= ================ =================== ================
|
================= ================ =================== ================
|
||||||
|
|
||||||
Relevant Methods
|
Relevant Methods
|
||||||
|
|
|
@ -899,7 +899,7 @@ PyTypeObject PyRangeIter_Type = {
|
||||||
sizeof(_PyRangeIterObject), /* tp_basicsize */
|
sizeof(_PyRangeIterObject), /* tp_basicsize */
|
||||||
0, /* tp_itemsize */
|
0, /* tp_itemsize */
|
||||||
/* methods */
|
/* methods */
|
||||||
(destructor)PyObject_Del, /* tp_dealloc */
|
(destructor)PyObject_Free, /* tp_dealloc */
|
||||||
0, /* tp_vectorcall_offset */
|
0, /* tp_vectorcall_offset */
|
||||||
0, /* tp_getattr */
|
0, /* tp_getattr */
|
||||||
0, /* tp_setattr */
|
0, /* tp_setattr */
|
||||||
|
|
|
@ -7456,7 +7456,7 @@ PyTypeObject PyBaseObject_Type = {
|
||||||
object_init, /* tp_init */
|
object_init, /* tp_init */
|
||||||
PyType_GenericAlloc, /* tp_alloc */
|
PyType_GenericAlloc, /* tp_alloc */
|
||||||
object_new, /* tp_new */
|
object_new, /* tp_new */
|
||||||
PyObject_Del, /* tp_free */
|
PyObject_Free, /* tp_free */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -8180,7 +8180,7 @@ type_ready_inherit(PyTypeObject *type)
|
||||||
|
|
||||||
/* Sanity check for tp_free. */
|
/* Sanity check for tp_free. */
|
||||||
if (_PyType_IS_GC(type) && (type->tp_flags & Py_TPFLAGS_BASETYPE) &&
|
if (_PyType_IS_GC(type) && (type->tp_flags & Py_TPFLAGS_BASETYPE) &&
|
||||||
(type->tp_free == NULL || type->tp_free == PyObject_Del))
|
(type->tp_free == NULL || type->tp_free == PyObject_Free))
|
||||||
{
|
{
|
||||||
/* This base class needs to call tp_free, but doesn't have
|
/* This base class needs to call tp_free, but doesn't have
|
||||||
* one, or its tp_free is for non-gc'ed objects.
|
* one, or its tp_free is for non-gc'ed objects.
|
||||||
|
|
|
@ -15265,7 +15265,7 @@ PyTypeObject PyUnicode_Type = {
|
||||||
0, /* tp_init */
|
0, /* tp_init */
|
||||||
0, /* tp_alloc */
|
0, /* tp_alloc */
|
||||||
unicode_new, /* tp_new */
|
unicode_new, /* tp_new */
|
||||||
PyObject_Del, /* tp_free */
|
PyObject_Free, /* tp_free */
|
||||||
.tp_vectorcall = unicode_vectorcall,
|
.tp_vectorcall = unicode_vectorcall,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1374,7 +1374,7 @@ PyTypeObject _PyCounterOptimizer_Type = {
|
||||||
.tp_itemsize = 0,
|
.tp_itemsize = 0,
|
||||||
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_DISALLOW_INSTANTIATION,
|
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_DISALLOW_INSTANTIATION,
|
||||||
.tp_methods = counter_optimizer_methods,
|
.tp_methods = counter_optimizer_methods,
|
||||||
.tp_dealloc = (destructor)PyObject_Del,
|
.tp_dealloc = (destructor)PyObject_Free,
|
||||||
};
|
};
|
||||||
|
|
||||||
PyObject *
|
PyObject *
|
||||||
|
|
Loading…
Reference in New Issue