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:
neonene 2024-09-24 04:14:15 +09:00 committed by GitHub
parent 2e0d445364
commit d9d5b3d2ef
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 4 additions and 4 deletions

View File

@ -732,12 +732,15 @@ _PyObject_GET_WEAKREFS_LISTPTR_FROM_OFFSET(PyObject *op)
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()
static inline int
_PyObject_IS_GC(PyObject *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)));
}
@ -755,9 +758,6 @@ _PyObject_HashFast(PyObject *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
_PyType_PreHeaderSize(PyTypeObject *tp)
{