Fix Py_INCREF() statistics in limited C API 3.10 (#96120)

In the limited C API with a debug build, Py_INCREF() is implemented
by calling _Py_IncRef() which calls Py_INCREF(). Only call
_Py_INCREF_STAT_INC() once.
This commit is contained in:
Victor Stinner 2022-08-29 14:55:46 +02:00 committed by GitHub
parent b2714f05c5
commit 026ab6f4e5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -511,11 +511,11 @@ PyAPI_FUNC(void) _Py_DecRef(PyObject *);
static inline void Py_INCREF(PyObject *op)
{
_Py_INCREF_STAT_INC();
#if defined(Py_REF_DEBUG) && defined(Py_LIMITED_API) && Py_LIMITED_API+0 >= 0x030A0000
// Stable ABI for Python 3.10 built in debug mode.
_Py_IncRef(op);
#else
_Py_INCREF_STAT_INC();
// Non-limited C API and limited C API for Python 3.9 and older access
// directly PyObject.ob_refcnt.
#ifdef Py_REF_DEBUG