summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@redhat.com>2018-10-26 00:01:56 +0200
committerGitHub <noreply@github.com>2018-10-26 00:01:56 +0200
commitc89a93271447ec65e83a1dc7605e62dbf272cafd (patch)
treebaaf2c7ce7cea2581b0b33da5d1f5926238e7255
parent6c83d9f4a72905d968418bef670bb3091d2744db (diff)
downloadcpython-git-c89a93271447ec65e83a1dc7605e62dbf272cafd.tar.gz
bpo-35053: Define _PyTraceMalloc_NewReference in object.h (GH-10107)
_PyTraceMalloc_NewReference() is now called by _Py_NewReference(), so move its definition to object.h. Moreover, define it even if Py_LIMITED_API is defined, since _Py_NewReference() is also exposed even if Py_LIMITED_API is defined.
-rw-r--r--Include/object.h4
-rw-r--r--Include/tracemalloc.h4
-rw-r--r--Modules/Setup3
3 files changed, 7 insertions, 4 deletions
diff --git a/Include/object.h b/Include/object.h
index 4a49609c72..2809d3af18 100644
--- a/Include/object.h
+++ b/Include/object.h
@@ -765,6 +765,10 @@ PyAPI_FUNC(void) dec_count(PyTypeObject *);
#define _Py_COUNT_ALLOCS_COMMA
#endif /* COUNT_ALLOCS */
+/* Update the Python traceback of an object. This function must be called
+ when a memory block is reused from a free list. */
+PyAPI_FUNC(int) _PyTraceMalloc_NewReference(PyObject *op);
+
#ifdef Py_TRACE_REFS
/* Py_TRACE_REFS is such major surgery that we call external routines. */
PyAPI_FUNC(void) _Py_NewReference(PyObject *);
diff --git a/Include/tracemalloc.h b/Include/tracemalloc.h
index cf5bb54ea0..bd14217c19 100644
--- a/Include/tracemalloc.h
+++ b/Include/tracemalloc.h
@@ -14,10 +14,6 @@ PyAPI_FUNC(int) PyTraceMalloc_Track(
uintptr_t ptr,
size_t size);
-/* Update the Python traceback of an object.
- This function can be used when a memory block is reused from a free list. */
-PyAPI_FUNC(int) _PyTraceMalloc_NewReference(PyObject *op);
-
/* Untrack an allocated memory block in the tracemalloc module.
Do nothing if the block was not tracked.
diff --git a/Modules/Setup b/Modules/Setup
index a0622cc8c6..fb16698d2f 100644
--- a/Modules/Setup
+++ b/Modules/Setup
@@ -129,6 +129,9 @@ _io -DPy_BUILD_CORE -I$(srcdir)/Modules/_io _io/_iomodule.c _io/iobase.c _io/fil
faulthandler faulthandler.c
# debug tool to trace memory blocks allocated by Python
+#
+# bpo-35053: The module must be builtin since _Py_NewReference()
+# can call _PyTraceMalloc_NewReference().
_tracemalloc _tracemalloc.c hashtable.c
# The rest of the modules listed in this file are all commented out by