bpo-30054: Expose tracemalloc C API (#1236) · python/cpython@5ea4c06

@@ -74,7 +74,7 @@ __attribute__((packed))

7474

#endif

7575

{

7676

uintptr_t ptr;

77-

_PyTraceMalloc_domain_t domain;

77+

unsigned int domain;

7878

} pointer_t;

79798080

/* Pack the frame_t structure to reduce the memory footprint on 64-bit

@@ -578,7 +578,7 @@ tracemalloc_use_domain(void)

578578579579580580

static void

581-

tracemalloc_remove_trace(_PyTraceMalloc_domain_t domain, uintptr_t ptr)

581+

tracemalloc_remove_trace(unsigned int domain, uintptr_t ptr)

582582

{

583583

trace_t trace;

584584

int removed;

@@ -605,7 +605,7 @@ tracemalloc_remove_trace(_PyTraceMalloc_domain_t domain, uintptr_t ptr)

605605606606607607

static int

608-

tracemalloc_add_trace(_PyTraceMalloc_domain_t domain, uintptr_t ptr,

608+

tracemalloc_add_trace(unsigned int domain, uintptr_t ptr,

609609

size_t size)

610610

{

611611

pointer_t key = {ptr, domain};

@@ -1267,7 +1267,7 @@ traceback_to_pyobject(traceback_t *traceback, _Py_hashtable_t *intern_table)

126712671268126812691269

static PyObject*

1270-

trace_to_pyobject(_PyTraceMalloc_domain_t domain, trace_t *trace,

1270+

trace_to_pyobject(unsigned int domain, trace_t *trace,

12711271

_Py_hashtable_t *intern_tracebacks)

12721272

{

12731273

PyObject *trace_obj = NULL;

@@ -1313,7 +1313,7 @@ tracemalloc_get_traces_fill(_Py_hashtable_t *traces, _Py_hashtable_entry_t *entr

13131313

void *user_data)

13141314

{

13151315

get_traces_t *get_traces = user_data;

1316-

_PyTraceMalloc_domain_t domain;

1316+

unsigned int domain;

13171317

trace_t trace;

13181318

PyObject *tracemalloc_obj;

13191319

int res;

@@ -1428,7 +1428,7 @@ _tracemalloc__get_traces_impl(PyObject *module)

142814281429142914301430

static traceback_t*

1431-

tracemalloc_get_traceback(_PyTraceMalloc_domain_t domain, uintptr_t ptr)

1431+

tracemalloc_get_traceback(unsigned int domain, uintptr_t ptr)

14321432

{

14331433

trace_t trace;

14341434

int found;

@@ -1783,8 +1783,8 @@ _PyTraceMalloc_Fini(void)

17831783

}

1784178417851785

int

1786-

_PyTraceMalloc_Track(_PyTraceMalloc_domain_t domain, uintptr_t ptr,

1787-

size_t size)

1786+

PyTraceMalloc_Track(unsigned int domain, uintptr_t ptr,

1787+

size_t size)

17881788

{

17891789

int res;

17901790

#ifdef WITH_THREAD

@@ -1812,7 +1812,7 @@ _PyTraceMalloc_Track(_PyTraceMalloc_domain_t domain, uintptr_t ptr,

181218121813181318141814

int

1815-

_PyTraceMalloc_Untrack(_PyTraceMalloc_domain_t domain, uintptr_t ptr)

1815+

PyTraceMalloc_Untrack(unsigned int domain, uintptr_t ptr)

18161816

{

18171817

if (!tracemalloc_config.tracing) {

18181818

/* tracemalloc is not tracing: do nothing */

@@ -1828,7 +1828,7 @@ _PyTraceMalloc_Untrack(_PyTraceMalloc_domain_t domain, uintptr_t ptr)

182818281829182918301830

PyObject*

1831-

_PyTraceMalloc_GetTraceback(_PyTraceMalloc_domain_t domain, uintptr_t ptr)

1831+

_PyTraceMalloc_GetTraceback(unsigned int domain, uintptr_t ptr)

18321832

{

18331833

traceback_t *traceback;

18341834