diff options
author | Victor Stinner <vstinner@python.org> | 2020-02-03 16:55:05 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-02-03 16:55:04 (GMT) |
commit | 49932fec62c616ec88da52642339d83ae719e924 (patch) | |
tree | b489d2b97cf56c0b51a15f27ecf4064c5084d9d8 /Modules | |
parent | 24e5ad4689de9adc8e4a7d8c08fe400dcea668e6 (diff) | |
download | cpython-49932fec62c616ec88da52642339d83ae719e924.zip cpython-49932fec62c616ec88da52642339d83ae719e924.tar.gz cpython-49932fec62c616ec88da52642339d83ae719e924.tar.bz2 |
bpo-39542: Simplify _Py_NewReference() (GH-18332)
* Remove _Py_INC_REFTOTAL and _Py_DEC_REFTOTAL macros: modify
directly _Py_RefTotal.
* _Py_ForgetReference() is no longer defined if the Py_TRACE_REFS
macro is not defined.
* Remove _Py_NewReference() implementation from object.c:
unify the two implementations in object.h inline function.
* Fix Py_TRACE_REFS build: _Py_INC_TPALLOCS() macro has been removed.
Diffstat (limited to 'Modules')
-rw-r--r-- | Modules/_testcapimodule.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/Modules/_testcapimodule.c b/Modules/_testcapimodule.c index 4dcfde4..c5812f8 100644 --- a/Modules/_testcapimodule.c +++ b/Modules/_testcapimodule.c @@ -3586,9 +3586,11 @@ slot_tp_del(PyObject *self) self->ob_refcnt = refcnt; } assert(!PyType_IS_GC(Py_TYPE(self)) || _PyObject_GC_IS_TRACKED(self)); - /* If Py_REF_DEBUG, _Py_NewReference bumped _Py_RefTotal, so - * we need to undo that. */ - _Py_DEC_REFTOTAL; + /* If Py_REF_DEBUG macro is defined, _Py_NewReference() increased + _Py_RefTotal, so we need to undo that. */ +#ifdef Py_REF_DEBUG + _Py_RefTotal--; +#endif } static PyObject * |