]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-39542: Move object.h debug functions to internal C API (GH-18331)
authorVictor Stinner <vstinner@python.org>
Mon, 3 Feb 2020 16:28:26 +0000 (17:28 +0100)
committerGitHub <noreply@github.com>
Mon, 3 Feb 2020 16:28:26 +0000 (17:28 +0100)
Move the following functions from the public C API to the internal C
API:

* _PyDebug_PrintTotalRefs(),
* _Py_PrintReferenceAddresses()
* _Py_PrintReferences()

Include/internal/pycore_object.h
Include/object.h
Python/pylifecycle.c
Python/pythonrun.c

index ba6636d7f8cfc4b88cab6db7cfc54774e2e89099..eac39c8a3fccc17477436ce865cf4ea686ca2b36 100644 (file)
@@ -77,6 +77,15 @@ static inline void _PyObject_GC_UNTRACK_impl(const char *filename, int lineno,
 #define _PyObject_GC_UNTRACK(op) \
     _PyObject_GC_UNTRACK_impl(__FILE__, __LINE__, _PyObject_CAST(op))
 
+#ifdef Py_REF_DEBUG
+extern void _PyDebug_PrintTotalRefs(void);
+#endif
+
+#ifdef Py_TRACE_REFS
+extern void _Py_PrintReferences(FILE *);
+extern void _Py_PrintReferenceAddresses(FILE *);
+#endif
+
 #ifdef __cplusplus
 }
 #endif
index 1a2e704e93d23fcad350465389b179511812ecb3..e1cc47aeb3d5cc36d4ddb389a1eb75d286e8300b 100644 (file)
@@ -395,11 +395,6 @@ PyAPI_FUNC(void) _Py_NegativeRefcount(const char *filename, int lineno,
 PyAPI_FUNC(Py_ssize_t) _Py_GetRefTotal(void);
 #define _Py_INC_REFTOTAL        _Py_RefTotal++
 #define _Py_DEC_REFTOTAL        _Py_RefTotal--
-
-/* Py_REF_DEBUG also controls the display of refcounts and memory block
- * allocations at the interactive prompt and at interpreter shutdown
- */
-PyAPI_FUNC(void) _PyDebug_PrintTotalRefs(void);
 #else
 #define _Py_INC_REFTOTAL
 #define _Py_DEC_REFTOTAL
@@ -413,8 +408,6 @@ PyAPI_FUNC(int) _PyTraceMalloc_NewReference(PyObject *op);
 /* Py_TRACE_REFS is such major surgery that we call external routines. */
 PyAPI_FUNC(void) _Py_NewReference(PyObject *);
 PyAPI_FUNC(void) _Py_ForgetReference(PyObject *);
-PyAPI_FUNC(void) _Py_PrintReferences(FILE *);
-PyAPI_FUNC(void) _Py_PrintReferenceAddresses(FILE *);
 PyAPI_FUNC(void) _Py_AddToAllObjects(PyObject *, int force);
 #else
 /* Without Py_TRACE_REFS, there's little enough to do that we expand code
index f1307356a7da043b4430d00291ceb89e744fe096..fbeebbdf99da51a3e36695a70fe4373be38c2dd6 100644 (file)
@@ -10,6 +10,7 @@
 #include "pycore_initconfig.h"
 #include "pycore_fileutils.h"
 #include "pycore_hamt.h"
+#include "pycore_object.h"
 #include "pycore_pathconfig.h"
 #include "pycore_pyerrors.h"
 #include "pycore_pylifecycle.h"
index b68a0b5572a1b11704935dea47abaf0fbb934768..f4ded2e24a37e5506133f3d91de046dc52a66bb2 100644 (file)
@@ -12,6 +12,7 @@
 
 #include "Python-ast.h"
 #undef Yield   /* undefine macro conflicting with <winbase.h> */
+#include "pycore_object.h"
 #include "pycore_pyerrors.h"
 #include "pycore_pylifecycle.h"
 #include "pycore_pystate.h"