bpo-40170: Convert PyObject_IS_GC() macro to a function (GH-19464) · python/cpython@675d9a3
@@ -442,7 +442,7 @@ visit_decref(PyObject *op, void *parent)
442442{
443443_PyObject_ASSERT(_PyObject_CAST(parent), !_PyObject_IsFreed(op));
444444445-if (PyObject_IS_GC(op)) {
445+if (_PyObject_IS_GC(op)) {
446446PyGC_Head *gc = AS_GC(op);
447447/* We're only interested in gc_refs for objects in the
448448 * generation being collected, which can be recognized
@@ -478,7 +478,7 @@ subtract_refs(PyGC_Head *containers)
478478static int
479479visit_reachable(PyObject *op, PyGC_Head *reachable)
480480{
481-if (!PyObject_IS_GC(op)) {
481+if (!_PyObject_IS_GC(op)) {
482482return 0;
483483 }
484484@@ -705,7 +705,7 @@ clear_unreachable_mask(PyGC_Head *unreachable)
705705static int
706706visit_move(PyObject *op, PyGC_Head *tolist)
707707{
708-if (PyObject_IS_GC(op)) {
708+if (_PyObject_IS_GC(op)) {
709709PyGC_Head *gc = AS_GC(op);
710710if (gc_is_collecting(gc)) {
711711gc_list_move(gc, tolist);
@@ -1716,7 +1716,7 @@ gc_get_referents(PyObject *self, PyObject *args)
17161716traverseproc traverse;
17171717PyObject *obj = PyTuple_GET_ITEM(args, i);
171817181719-if (! PyObject_IS_GC(obj))
1719+if (!_PyObject_IS_GC(obj))
17201720continue;
17211721traverse = Py_TYPE(obj)->tp_traverse;
17221722if (! traverse)
@@ -1856,7 +1856,7 @@ gc_is_tracked(PyObject *module, PyObject *obj)
18561856{
18571857PyObject *result;
185818581859-if (PyObject_IS_GC(obj) && _PyObject_GC_IS_TRACKED(obj))
1859+if (_PyObject_IS_GC(obj) && _PyObject_GC_IS_TRACKED(obj))
18601860result = Py_True;
18611861else
18621862result = Py_False;
@@ -1877,7 +1877,7 @@ static PyObject *
18771877gc_is_finalized(PyObject *module, PyObject *obj)
18781878/*[clinic end generated code: output=e1516ac119a918ed input=201d0c58f69ae390]*/
18791879{
1880-if (PyObject_IS_GC(obj) && _PyGCHead_FINALIZED(AS_GC(obj))) {
1880+if (_PyObject_IS_GC(obj) && _PyGCHead_FINALIZED(AS_GC(obj))) {
18811881Py_RETURN_TRUE;
18821882 }
18831883Py_RETURN_FALSE;
@@ -2204,6 +2204,12 @@ PyObject_GC_UnTrack(void *op_raw)
22042204 }
22052205}
220622062207+int
2208+PyObject_IS_GC(PyObject *obj)
2209+{
2210+return _PyObject_IS_GC(obj);
2211+}
2212+22072213static PyObject *
22082214_PyObject_GC_Alloc(int use_calloc, size_t basicsize)
22092215{
@@ -2317,7 +2323,7 @@ PyObject_GC_Del(void *op)
23172323int
23182324PyObject_GC_IsTracked(PyObject* obj)
23192325{
2320-if (PyObject_IS_GC(obj) && _PyObject_GC_IS_TRACKED(obj)) {
2326+if (_PyObject_IS_GC(obj) && _PyObject_GC_IS_TRACKED(obj)) {
23212327return 1;
23222328 }
23232329return 0;
@@ -2326,7 +2332,7 @@ PyObject_GC_IsTracked(PyObject* obj)
23262332int
23272333PyObject_GC_IsFinalized(PyObject *obj)
23282334{
2329-if (PyObject_IS_GC(obj) && _PyGCHead_FINALIZED(AS_GC(obj))) {
2335+if (_PyObject_IS_GC(obj) && _PyGCHead_FINALIZED(AS_GC(obj))) {
23302336return 1;
23312337 }
23322338return 0;