From 95f51a21d2fcaa571dc7880a497840156ae50ea5 Mon Sep 17 00:00:00 2001 From: Eric Snow Date: Fri, 9 Dec 2022 14:02:37 -0700 Subject: [PATCH] Move tracemalloc_empty_traceback to _PyRuntimeState. --- Include/internal/pycore_tracemalloc.h | 2 ++ Modules/_tracemalloc.c | 3 ++- Tools/c-analyzer/cpython/globals-to-fix.tsv | 1 - 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Include/internal/pycore_tracemalloc.h b/Include/internal/pycore_tracemalloc.h index 71533056bc73ff..08d7d1096c78ce 100644 --- a/Include/internal/pycore_tracemalloc.h +++ b/Include/internal/pycore_tracemalloc.h @@ -99,6 +99,8 @@ struct _tracemalloc_runtime_state { Protected by TABLES_LOCK(). */ _Py_hashtable_t *domains; + struct tracemalloc_traceback empty_traceback; + Py_tss_t reentrant_key; }; diff --git a/Modules/_tracemalloc.c b/Modules/_tracemalloc.c index ec9ff44b98a074..ac16626f2101ba 100644 --- a/Modules/_tracemalloc.c +++ b/Modules/_tracemalloc.c @@ -63,7 +63,8 @@ typedef struct tracemalloc_traceback traceback_t; static const unsigned long MAX_NFRAME = Py_MIN(UINT16_MAX, ((SIZE_MAX - sizeof(traceback_t)) / sizeof(frame_t) + 1)); -static traceback_t tracemalloc_empty_traceback; +#define tracemalloc_empty_traceback _PyRuntime.tracemalloc.empty_traceback + /* Trace of a memory block */ typedef struct { diff --git a/Tools/c-analyzer/cpython/globals-to-fix.tsv b/Tools/c-analyzer/cpython/globals-to-fix.tsv index 7b0418b31e56e3..5dcd396c5487e3 100644 --- a/Tools/c-analyzer/cpython/globals-to-fix.tsv +++ b/Tools/c-analyzer/cpython/globals-to-fix.tsv @@ -377,7 +377,6 @@ Modules/faulthandler.c - old_stack - ##----------------------- ## state -Modules/_tracemalloc.c - tracemalloc_empty_traceback - Modules/faulthandler.c faulthandler_dump_traceback reentrant - Modules/signalmodule.c - is_tripped - Modules/signalmodule.c - signal_global_state -