]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
bpo-43688: Support the limited C API in debug mode (GH-25131)
authorVictor Stinner <vstinner@python.org>
Fri, 2 Apr 2021 13:45:37 +0000 (15:45 +0200)
committerGitHub <noreply@github.com>
Fri, 2 Apr 2021 13:45:37 +0000 (15:45 +0200)
commit3359cab038968935b40344fad7c30d211f9692e4
tree83d983230eac34582538556b7c50be688e900d1c
parent442ad74fc2928b095760eb89aba93c28eab17f9b
bpo-43688: Support the limited C API in debug mode (GH-25131)

The limited C API is now supported if Python is built in debug mode
(if the Py_DEBUG macro is defined). In the limited C API, the
Py_INCREF() and Py_DECREF() functions are now implemented as opaque
function calls, rather than accessing directly the PyObject.ob_refcnt
member, if Python is built in debug mode and the Py_LIMITED_API macro
targets Python 3.10 or newer. It became possible to support the
limited C API in debug mode because the PyObject structure is the
same in release and debug mode since Python 3.8 (see bpo-36465).

The limited C API is still not supported in the --with-trace-refs
special build (Py_TRACE_REFS macro).
Doc/whatsnew/3.10.rst
Include/object.h
Misc/NEWS.d/next/C API/2021-04-01-09-10-42.bpo-43688.G4gs6k.rst [new file with mode: 0644]
Objects/object.c
PC/python3dll.c
setup.py