diff options
Diffstat (limited to 'Objects')
-rw-r--r-- | Objects/object.c | 3 | ||||
-rw-r--r-- | Objects/obmalloc.c | 6 |
2 files changed, 9 insertions, 0 deletions
diff --git a/Objects/object.c b/Objects/object.c index 00c0bad..4597b12 100644 --- a/Objects/object.c +++ b/Objects/object.c @@ -1919,6 +1919,9 @@ _Py_ReadyTypes(void) void _Py_NewReference(PyObject *op) { + if (_Py_tracemalloc_config.tracing) { + _PyTraceMalloc_NewReference(op); + } _Py_INC_REFTOTAL; op->ob_refcnt = 1; _Py_AddToAllObjects(op, 1); diff --git a/Objects/obmalloc.c b/Objects/obmalloc.c index d58da35..fbc9478 100644 --- a/Objects/obmalloc.c +++ b/Objects/obmalloc.c @@ -63,6 +63,12 @@ static void* _PyObject_Realloc(void *ctx, void *ptr, size_t size); #endif +/* bpo-35053: Declare tracemalloc configuration here rather than + Modules/_tracemalloc.c because _tracemalloc can be compiled as dynamic + library, whereas _Py_NewReference() requires it. */ +struct _PyTraceMalloc_Config _Py_tracemalloc_config = _PyTraceMalloc_Config_INIT; + + static void * _PyMem_RawMalloc(void *ctx, size_t size) { |