https://github.com/python/cpython/commit/6827c5129c5541a8608323fceda2233d542a5ec2 commit: 6827c5129c5541a8608323fceda2233d542a5ec2 branch: main author: Victor Stinner <vstin...@python.org> committer: vstinner <vstin...@python.org> date: 2025-03-19T23:32:30Z summary:
gh-131238: Move pycore_obmalloc.h include to pycore_runtime_structs.h (#131482) Move pycore_obmalloc.h include from pycore_interp_structs.h to pycore_runtime_structs.h. Add also comment explaining the purpose of each include in pycore_interp_structs.h, pycore_runtime_structs.h and pycore_structs.h. Remove <stdbool.h> and <stddef.h> from pycore_structs.h. files: M Include/internal/pycore_backoff.h M Include/internal/pycore_interp_structs.h M Include/internal/pycore_runtime_structs.h M Include/internal/pycore_structs.h diff --git a/Include/internal/pycore_backoff.h b/Include/internal/pycore_backoff.h index 6291afe9e7b4f8..942d8b107a7daf 100644 --- a/Include/internal/pycore_backoff.h +++ b/Include/internal/pycore_backoff.h @@ -10,7 +10,8 @@ extern "C" { #endif #include <assert.h> -#include "pycore_structs.h" // _Py_BackoffCounter +#include <stdbool.h> +#include "pycore_structs.h" // _Py_BackoffCounter /* 16-bit countdown counters using exponential backoff. diff --git a/Include/internal/pycore_interp_structs.h b/Include/internal/pycore_interp_structs.h index de1b41da369161..ee92a1e6f2dec9 100644 --- a/Include/internal/pycore_interp_structs.h +++ b/Include/internal/pycore_interp_structs.h @@ -1,3 +1,6 @@ +/* This file contains the struct definitions for interpreter state + * and other necessary structs */ + #ifndef Py_INTERNAL_INTERP_STRUCTS_H #define Py_INTERNAL_INTERP_STRUCTS_H #ifdef __cplusplus @@ -12,9 +15,6 @@ extern "C" { #include "pycore_typedefs.h" // _PyRuntimeState -/* This file contains the struct definitions for interpreter state - * and other necessary structs */ - #define CODE_MAX_WATCHERS 8 #define CONTEXT_MAX_WATCHERS 8 #define FUNC_MAX_WATCHERS 8 @@ -247,13 +247,7 @@ struct _gc_runtime_state { #endif }; -#include "pycore_gil.h" - -/****** Thread state **************/ -#include "pytypedefs.h" -#include "pystate.h" -#include "pycore_tstate.h" - +#include "pycore_gil.h" // struct _gil_runtime_state /**** Import ********/ @@ -327,8 +321,8 @@ struct _import_state { /********** Interpreter state **************/ -#include "pycore_object_state.h" -#include "pycore_crossinterp.h" +#include "pycore_object_state.h" // struct _py_object_state +#include "pycore_crossinterp.h" // _PyXI_state_t struct _Py_long_state { @@ -453,8 +447,8 @@ struct _py_func_state { struct _func_version_cache_item func_version_cache[FUNC_VERSION_CACHE_SIZE]; }; -#include "pycore_dict_state.h" -#include "pycore_exceptions.h" +#include "pycore_dict_state.h" // struct _Py_dict_state +#include "pycore_exceptions.h" // struct _Py_exc_state /****** type state *********/ @@ -635,7 +629,7 @@ struct _Py_unicode_ids { PyObject **array; }; -#include "pycore_ucnhash.h" +#include "pycore_ucnhash.h" // _PyUnicode_Name_CAPI struct _Py_unicode_state { struct _Py_unicode_fs_codec fs_codec; @@ -654,8 +648,6 @@ struct callable_cache { PyObject *object__getattribute__; }; -#include "pycore_obmalloc.h" - /* Length of array of slotdef pointers used to store slots with the same __name__. There should be at most MAX_EQUIV-1 slotdef entries with the same __name__, for any __name__. Since that's a static property, it is @@ -696,7 +688,7 @@ struct _Py_interp_static_objects { } singletons; }; -#include "pycore_instruments.h" +#include "pycore_instruments.h" // PY_MONITORING_TOOL_IDS #ifdef Py_GIL_DISABLED @@ -955,7 +947,6 @@ struct _is { }; - #ifdef __cplusplus } #endif diff --git a/Include/internal/pycore_runtime_structs.h b/Include/internal/pycore_runtime_structs.h index 81f53afa3c080d..a062de39f4eb40 100644 --- a/Include/internal/pycore_runtime_structs.h +++ b/Include/internal/pycore_runtime_structs.h @@ -1,14 +1,14 @@ +/* This file contains the struct definitions for the runtime, interpreter + * and thread states, plus all smaller structs contained therein */ + #ifndef Py_INTERNAL_RUNTIME_STRUCTS_H #define Py_INTERNAL_RUNTIME_STRUCTS_H #ifdef __cplusplus extern "C" { #endif -/* This file contains the struct definitions for the runtime, interpreter - * and thread states, plus all smaller structs contained therein */ - -#include "pycore_structs.h" -#include "pycore_interp_structs.h" +#include "pycore_interp_structs.h" // _PyGC_Head_UNUSED +#include "pycore_obmalloc.h" // struct _obmalloc_global_state /************ Runtime state ************/ @@ -58,17 +58,16 @@ struct pyhash_runtime_state { } urandom_cache; }; -#include "pycore_tracemalloc.h" +#include "pycore_tracemalloc.h" // struct _tracemalloc_runtime_state struct _fileutils_state { int force_ascii; }; -#include "pycore_debug_offsets.h" -#include "pycore_signal.h" -#include "pycore_faulthandler.h" -#include "pycore_pythread.h" -#include "pycore_ast.h" +#include "pycore_debug_offsets.h" // _Py_DebugOffsets +#include "pycore_signal.h" // struct _signals_runtime_state +#include "pycore_faulthandler.h" // struct _faulthandler_runtime_state +#include "pycore_ast.h" // struct _expr #ifdef Py_DEBUG #define _PYPEGEN_NSTATISTICS 2000 @@ -109,7 +108,7 @@ struct _Py_cached_objects { #define _PY_NSMALLPOSINTS 257 #define _PY_NSMALLNEGINTS 5 -#include "pycore_global_strings.h" +#include "pycore_global_strings.h" // struct _Py_global_strings struct _Py_static_objects { struct { @@ -310,7 +309,6 @@ struct pyruntimestate { }; - #ifdef __cplusplus } #endif diff --git a/Include/internal/pycore_structs.h b/Include/internal/pycore_structs.h index ed0e987c23e851..90963f0f8b0dfb 100644 --- a/Include/internal/pycore_structs.h +++ b/Include/internal/pycore_structs.h @@ -1,15 +1,13 @@ +/* This files contains various key structs that are widely used + * and do not depend on other headers. */ + #ifndef Py_INTERNAL_STRUCTS_H #define Py_INTERNAL_STRUCTS_H #ifdef __cplusplus extern "C" { #endif -/* This files contains various key structs that are widely used - * and do not depend on other headers. */ - -#include <stddef.h> -#include <stdint.h> -#include <stdbool.h> +#include <stdint.h> // uint16_t typedef struct { @@ -54,7 +52,7 @@ typedef struct { PyObject *b_array[1]; } PyHamtNode_Bitmap; -#include "pycore_context.h" +#include "pycore_context.h" // _PyContextTokenMissing // Define this to get precise tracking of stackrefs. // #define Py_STACKREF_DEBUG 1 _______________________________________________ Python-checkins mailing list -- python-checkins@python.org To unsubscribe send an email to python-checkins-le...@python.org https://mail.python.org/mailman3/lists/python-checkins.python.org/ Member address: arch...@mail-archive.com