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); 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)
{ {