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

446446

PyGC_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)

478478

static int

479479

visit_reachable(PyObject *op, PyGC_Head *reachable)

480480

{

481-

if (!PyObject_IS_GC(op)) {

481+

if (!_PyObject_IS_GC(op)) {

482482

return 0;

483483

}

484484

@@ -705,7 +705,7 @@ clear_unreachable_mask(PyGC_Head *unreachable)

705705

static int

706706

visit_move(PyObject *op, PyGC_Head *tolist)

707707

{

708-

if (PyObject_IS_GC(op)) {

708+

if (_PyObject_IS_GC(op)) {

709709

PyGC_Head *gc = AS_GC(op);

710710

if (gc_is_collecting(gc)) {

711711

gc_list_move(gc, tolist);

@@ -1716,7 +1716,7 @@ gc_get_referents(PyObject *self, PyObject *args)

17161716

traverseproc traverse;

17171717

PyObject *obj = PyTuple_GET_ITEM(args, i);

171817181719-

if (! PyObject_IS_GC(obj))

1719+

if (!_PyObject_IS_GC(obj))

17201720

continue;

17211721

traverse = Py_TYPE(obj)->tp_traverse;

17221722

if (! traverse)

@@ -1856,7 +1856,7 @@ gc_is_tracked(PyObject *module, PyObject *obj)

18561856

{

18571857

PyObject *result;

185818581859-

if (PyObject_IS_GC(obj) && _PyObject_GC_IS_TRACKED(obj))

1859+

if (_PyObject_IS_GC(obj) && _PyObject_GC_IS_TRACKED(obj))

18601860

result = Py_True;

18611861

else

18621862

result = Py_False;

@@ -1877,7 +1877,7 @@ static PyObject *

18771877

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

18811881

Py_RETURN_TRUE;

18821882

}

18831883

Py_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+22072213

static PyObject *

22082214

_PyObject_GC_Alloc(int use_calloc, size_t basicsize)

22092215

{

@@ -2317,7 +2323,7 @@ PyObject_GC_Del(void *op)

23172323

int

23182324

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

23212327

return 1;

23222328

}

23232329

return 0;

@@ -2326,7 +2332,7 @@ PyObject_GC_IsTracked(PyObject* obj)

23262332

int

23272333

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

23302336

return 1;

23312337

}

23322338

return 0;