mirror of https://github.com/python/cpython
gh-124344: Make `_PyObject_IS_GC()` use underscored `PyType_IS_GC()` (#124349)
move up _PyType_IS_GC and use it
This commit is contained in:
parent
2e0d445364
commit
d9d5b3d2ef
|
@ -732,12 +732,15 @@ _PyObject_GET_WEAKREFS_LISTPTR_FROM_OFFSET(PyObject *op)
|
||||||
return (PyWeakReference **)((char *)op + offset);
|
return (PyWeakReference **)((char *)op + offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Fast inlined version of PyType_IS_GC()
|
||||||
|
#define _PyType_IS_GC(t) _PyType_HasFeature((t), Py_TPFLAGS_HAVE_GC)
|
||||||
|
|
||||||
// Fast inlined version of PyObject_IS_GC()
|
// Fast inlined version of PyObject_IS_GC()
|
||||||
static inline int
|
static inline int
|
||||||
_PyObject_IS_GC(PyObject *obj)
|
_PyObject_IS_GC(PyObject *obj)
|
||||||
{
|
{
|
||||||
PyTypeObject *type = Py_TYPE(obj);
|
PyTypeObject *type = Py_TYPE(obj);
|
||||||
return (PyType_IS_GC(type)
|
return (_PyType_IS_GC(type)
|
||||||
&& (type->tp_is_gc == NULL || type->tp_is_gc(obj)));
|
&& (type->tp_is_gc == NULL || type->tp_is_gc(obj)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -755,9 +758,6 @@ _PyObject_HashFast(PyObject *op)
|
||||||
return PyObject_Hash(op);
|
return PyObject_Hash(op);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fast inlined version of PyType_IS_GC()
|
|
||||||
#define _PyType_IS_GC(t) _PyType_HasFeature((t), Py_TPFLAGS_HAVE_GC)
|
|
||||||
|
|
||||||
static inline size_t
|
static inline size_t
|
||||||
_PyType_PreHeaderSize(PyTypeObject *tp)
|
_PyType_PreHeaderSize(PyTypeObject *tp)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue