bpo-40170: Remove _Py_GetAllocatedBlocks() function (GH-30940)

Move _Py_GetAllocatedBlocks() and _PyObject_DebugMallocStats()
private functions to the internal C API.
This commit is contained in:
Victor Stinner 2022-01-27 03:35:51 +01:00 committed by GitHub
parent af32b3ef1f
commit 6b491b9dc0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 16 additions and 9 deletions

View File

@ -52,14 +52,6 @@
the 1st step is performed automatically for you, so in a C++ class
constructor you would start directly with PyObject_Init/InitVar. */
/* This function returns the number of allocated memory blocks, regardless of size */
PyAPI_FUNC(Py_ssize_t) _Py_GetAllocatedBlocks(void);
/* Macros */
#ifdef WITH_PYMALLOC
PyAPI_FUNC(int) _PyObject_DebugMallocStats(FILE *out);
#endif
typedef struct {
/* user context passed as the first argument to the 2 functions */

View File

@ -232,6 +232,15 @@ extern void _PyObject_FreeInstanceAttributes(PyObject *self);
extern int _PyObject_IsInstanceDictEmpty(PyObject *);
extern PyObject* _PyType_GetSubclasses(PyTypeObject *);
/* This function returns the number of allocated memory blocks, regardless of size */
PyAPI_FUNC(Py_ssize_t) _Py_GetAllocatedBlocks(void);
/* Macros */
#ifdef WITH_PYMALLOC
// Export the symbol for the 3rd party guppy3 project
PyAPI_FUNC(int) _PyObject_DebugMallocStats(FILE *out);
#endif
#ifdef __cplusplus
}
#endif

View File

@ -0,0 +1,2 @@
Move _Py_GetAllocatedBlocks() and _PyObject_DebugMallocStats() private
functions to the internal C API. Patch by Victor Stinner.

View File

@ -8,6 +8,9 @@
/* Defined in tracemalloc.c */
extern void _PyMem_DumpTraceback(int fd, const void *ptr);
// Forward declaration
int _PyObject_DebugMallocStats(FILE *out);
/* Python's malloc wrappers (see pymem.h) */
@ -1569,8 +1572,9 @@ new_arena(void)
const char *opt = Py_GETENV("PYTHONMALLOCSTATS");
debug_stats = (opt != NULL && *opt != '\0');
}
if (debug_stats)
if (debug_stats) {
_PyObject_DebugMallocStats(stderr);
}
if (unused_arena_objects == NULL) {
uint i;