From 20c5f969dd12a0b3d5ea7c03fedf3e2ac202c2c0 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Wed, 19 Mar 2025 23:01:32 +0100 Subject: [PATCH] gh-131238: Remove more includes from pycore_interp.h (#131480) --- Include/internal/pycore_ceval.h | 4 +++- Include/internal/pycore_interp.h | 8 -------- Include/internal/pycore_runtime_init.h | 1 + Modules/_ctypes/_ctypes.c | 1 + Modules/_io/textio.c | 17 ++++++++-------- Modules/_json.c | 11 +++++----- Modules/_lsprof.c | 1 + Modules/_pickle.c | 23 +++++++++++---------- Modules/_posixsubprocess.c | 1 + Modules/_testinternalcapi.c | 2 ++ Modules/main.c | 2 ++ Modules/posixmodule.c | 1 + Objects/bytesobject.c | 1 + Objects/codeobject.c | 4 +++- Objects/dictobject.c | 28 ++++++++++++++------------ Objects/frameobject.c | 4 +++- Objects/genericaliasobject.c | 1 + Objects/genobject.c | 1 + Objects/moduleobject.c | 2 ++ Python/_warnings.c | 4 +++- Python/bltinmodule.c | 1 + Python/ceval.c | 2 ++ Python/ceval_gil.c | 2 ++ Python/codecs.c | 1 + Python/dynload_shlib.c | 6 ++++-- Python/import.c | 1 + Python/instrumentation.c | 1 + Python/pylifecycle.c | 12 +++++------ Python/pystate.c | 1 + Python/pythonrun.c | 2 ++ Python/sysmodule.c | 3 +++ 31 files changed, 92 insertions(+), 57 deletions(-) diff --git a/Include/internal/pycore_ceval.h b/Include/internal/pycore_ceval.h index 436e5dc1d7d..7d28d26d887 100644 --- a/Include/internal/pycore_ceval.h +++ b/Include/internal/pycore_ceval.h @@ -8,10 +8,12 @@ extern "C" { # error "this header requires Py_BUILD_CORE define" #endif -#include "dynamic_annotations.h" // _Py_ANNOTATE_RWLOCK_CREATE +#include "dynamic_annotations.h" // _Py_ANNOTATE_RWLOCK_CREATE +#include "pycore_code.h" // _PyCode_GetTLBCFast() #include "pycore_interp.h" // PyInterpreterState.eval_frame #include "pycore_pystate.h" // _PyThreadState_GET() +#include "pycore_stats.h" // EVAL_CALL_STAT_INC() #include "pycore_typedefs.h" // _PyInterpreterFrame diff --git a/Include/internal/pycore_interp.h b/Include/internal/pycore_interp.h index 28ec42377ad..eb8ed2ec6ac 100644 --- a/Include/internal/pycore_interp.h +++ b/Include/internal/pycore_interp.h @@ -11,15 +11,7 @@ extern "C" { #include // bool #include "pycore_runtime_structs.h" -#include "pycore_code.h" // struct callable_cache -#include "pycore_floatobject.h" // struct _Py_float_state -#include "pycore_gc.h" // struct _gc_runtime_state #include "pycore_genobject.h" // _PyGen_FetchStopIterationValue -#include "pycore_import.h" // struct _import_state -#include "pycore_optimizer.h" // _PyExecutorObject -#include "pycore_typeobject.h" // struct types_state -#include "pycore_unicodeobject.h" // struct _Py_unicode_state -#include "pycore_warnings.h" // struct _warnings_runtime_state /* interpreter state */ diff --git a/Include/internal/pycore_runtime_init.h b/Include/internal/pycore_runtime_init.h index 497599f6717..8f866fd3497 100644 --- a/Include/internal/pycore_runtime_init.h +++ b/Include/internal/pycore_runtime_init.h @@ -16,6 +16,7 @@ extern "C" { #include "pycore_floatobject.h" // _py_float_format_unknown #include "pycore_function.h" #include "pycore_hamt.h" // _PyHamt_BitmapNode_Type +#include "pycore_import.h" // IMPORTS_INIT #include "pycore_object.h" // _PyObject_HEAD_INIT #include "pycore_obmalloc_init.h" // _obmalloc_global_state_INIT #include "pycore_parser.h" // _parser_runtime_state_INIT diff --git a/Modules/_ctypes/_ctypes.c b/Modules/_ctypes/_ctypes.c index 7c0ac1a57f5..cc06759f2d0 100644 --- a/Modules/_ctypes/_ctypes.c +++ b/Modules/_ctypes/_ctypes.c @@ -108,6 +108,7 @@ bytes(cdata) #include "pycore_call.h" // _PyObject_CallNoArgs() #include "pycore_ceval.h" // _Py_EnterRecursiveCall() +#include "pycore_unicodeobject.h" // _PyUnicode_EqualToASCIIString() #ifdef MS_WIN32 # include "pycore_modsupport.h" // _PyArg_NoKeywords() #endif diff --git a/Modules/_io/textio.c b/Modules/_io/textio.c index e0729118322..377c85f5ac6 100644 --- a/Modules/_io/textio.c +++ b/Modules/_io/textio.c @@ -7,14 +7,15 @@ */ #include "Python.h" -#include "pycore_call.h" // _PyObject_CallMethod() -#include "pycore_codecs.h" // _PyCodecInfo_GetIncrementalDecoder() -#include "pycore_fileutils.h" // _Py_GetLocaleEncoding() -#include "pycore_interp.h" // PyInterpreterState.fs_codec -#include "pycore_long.h" // _PyLong_GetZero() -#include "pycore_object.h" // _PyObject_GC_UNTRACK() -#include "pycore_pyerrors.h" // _PyErr_ChainExceptions1() -#include "pycore_pystate.h" // _PyInterpreterState_GET() +#include "pycore_call.h" // _PyObject_CallMethod() +#include "pycore_codecs.h" // _PyCodecInfo_GetIncrementalDecoder() +#include "pycore_fileutils.h" // _Py_GetLocaleEncoding() +#include "pycore_interp.h" // PyInterpreterState.fs_codec +#include "pycore_long.h" // _PyLong_GetZero() +#include "pycore_object.h" // _PyObject_GC_UNTRACK() +#include "pycore_pyerrors.h" // _PyErr_ChainExceptions1() +#include "pycore_pystate.h" // _PyInterpreterState_GET() +#include "pycore_unicodeobject.h" // _PyUnicode_AsASCIIString() #include "_iomodule.h" diff --git a/Modules/_json.c b/Modules/_json.c index 7b3328a4c91..cd8e6979162 100644 --- a/Modules/_json.c +++ b/Modules/_json.c @@ -9,12 +9,13 @@ #endif #include "Python.h" -#include "pycore_ceval.h" // _Py_EnterRecursiveCall() -#include "pycore_runtime.h" // _PyRuntime -#include "pycore_pyerrors.h" // _PyErr_FormatNote +#include "pycore_ceval.h" // _Py_EnterRecursiveCall() +#include "pycore_global_strings.h" // _Py_ID() +#include "pycore_pyerrors.h" // _PyErr_FormatNote +#include "pycore_runtime.h" // _PyRuntime +#include "pycore_unicodeobject.h" // _PyUnicode_CheckConsistency() -#include "pycore_global_strings.h" // _Py_ID() -#include // bool +#include // bool typedef struct _PyScannerObject { diff --git a/Modules/_lsprof.c b/Modules/_lsprof.c index 39d900cb824..92190b06829 100644 --- a/Modules/_lsprof.c +++ b/Modules/_lsprof.c @@ -7,6 +7,7 @@ #include "pycore_ceval.h" // _PyEval_SetProfile() #include "pycore_pystate.h" // _PyThreadState_GET() #include "pycore_time.h" // _PyTime_FromLong() +#include "pycore_unicodeobject.h" // _PyUnicode_EqualToASCIIString() #include "rotatingtree.h" diff --git a/Modules/_pickle.c b/Modules/_pickle.c index c2ae33c0fce..d260f1a68f8 100644 --- a/Modules/_pickle.c +++ b/Modules/_pickle.c @@ -9,17 +9,18 @@ #endif #include "Python.h" -#include "pycore_bytesobject.h" // _PyBytesWriter -#include "pycore_ceval.h" // _Py_EnterRecursiveCall() -#include "pycore_critical_section.h" // Py_BEGIN_CRITICAL_SECTION() -#include "pycore_long.h" // _PyLong_AsByteArray() -#include "pycore_moduleobject.h" // _PyModule_GetState() -#include "pycore_object.h" // _PyNone_Type -#include "pycore_pyerrors.h" // _PyErr_FormatNote -#include "pycore_pystate.h" // _PyThreadState_GET() -#include "pycore_runtime.h" // _Py_ID() -#include "pycore_setobject.h" // _PySet_NextEntry() -#include "pycore_sysmodule.h" // _PySys_GetSizeOf() +#include "pycore_bytesobject.h" // _PyBytesWriter +#include "pycore_ceval.h" // _Py_EnterRecursiveCall() +#include "pycore_critical_section.h" // Py_BEGIN_CRITICAL_SECTION() +#include "pycore_long.h" // _PyLong_AsByteArray() +#include "pycore_moduleobject.h" // _PyModule_GetState() +#include "pycore_object.h" // _PyNone_Type +#include "pycore_pyerrors.h" // _PyErr_FormatNote +#include "pycore_pystate.h" // _PyThreadState_GET() +#include "pycore_runtime.h" // _Py_ID() +#include "pycore_setobject.h" // _PySet_NextEntry() +#include "pycore_sysmodule.h" // _PySys_GetSizeOf() +#include "pycore_unicodeobject.h" // _PyUnicode_EqualToASCIIString() #include // strtol() diff --git a/Modules/_posixsubprocess.c b/Modules/_posixsubprocess.c index 8f4b5701763..1085e36cfe0 100644 --- a/Modules/_posixsubprocess.c +++ b/Modules/_posixsubprocess.c @@ -4,6 +4,7 @@ #endif #include "Python.h" +#include "pycore_fileutils.h" // _Py_set_inheritable_async_safe() #include "pycore_interp.h" // _PyInterpreterState_GetFinalizing() #include "pycore_pystate.h" // _PyInterpreterState_GET() #include "pycore_signal.h" // _Py_RestoreSignals() diff --git a/Modules/_testinternalcapi.c b/Modules/_testinternalcapi.c index c03652259d0..f927d13fc75 100644 --- a/Modules/_testinternalcapi.c +++ b/Modules/_testinternalcapi.c @@ -23,6 +23,7 @@ #include "pycore_frame.h" // _PyInterpreterFrame #include "pycore_gc.h" // PyGC_Head #include "pycore_hashtable.h" // _Py_hashtable_new() +#include "pycore_import.h" // _PyImport_ClearExtension() #include "pycore_initconfig.h" // _Py_GetConfigsAsDict() #include "pycore_instruction_sequence.h" // _PyInstructionSequence_New() #include "pycore_object.h" // _PyObject_IsFreed() @@ -31,6 +32,7 @@ #include "pycore_pyerrors.h" // _PyErr_ChainExceptions1() #include "pycore_pylifecycle.h" // _PyInterpreterConfig_AsDict() #include "pycore_pystate.h" // _PyThreadState_GET() +#include "pycore_unicodeobject.h" // _PyUnicode_TransformDecimalAndSpaceToASCII() #include "clinic/_testinternalcapi.c.h" diff --git a/Modules/main.c b/Modules/main.c index 0aebce0d3b7..3fda4fb4732 100644 --- a/Modules/main.c +++ b/Modules/main.c @@ -2,6 +2,8 @@ #include "Python.h" #include "pycore_call.h" // _PyObject_CallNoArgs() +#include "pycore_fileutils.h" // struct _Py_stat_struct +#include "pycore_import.h" // _PyImport_Fini2() #include "pycore_initconfig.h" // _PyArgv #include "pycore_interp.h" // _PyInterpreterState.sysdict #include "pycore_long.h" // _PyLong_GetOne() diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c index 25ebc98435c..ff798e8a19c 100644 --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c @@ -18,6 +18,7 @@ #include "pycore_call.h" // _PyObject_CallNoArgs() #include "pycore_ceval.h" // _PyEval_ReInitThreads() #include "pycore_fileutils.h" // _Py_closerange() +#include "pycore_import.h" // _PyImport_AcquireLock() #include "pycore_initconfig.h" // _PyStatus_EXCEPTION() #include "pycore_long.h" // _PyLong_IsNegative() #include "pycore_moduleobject.h" // _PyModule_GetState() diff --git a/Objects/bytesobject.c b/Objects/bytesobject.c index 16155710358..bdb389eb258 100644 --- a/Objects/bytesobject.c +++ b/Objects/bytesobject.c @@ -13,6 +13,7 @@ #include "pycore_object.h" // _PyObject_GC_TRACK #include "pycore_pymem.h" // PYMEM_CLEANBYTE #include "pycore_strhex.h" // _Py_strhex_with_sep() +#include "pycore_unicodeobject.h" // _PyUnicode_FormatLong() #include diff --git a/Objects/codeobject.c b/Objects/codeobject.c index 90f0bfb7b92..f06b19b2fb7 100644 --- a/Objects/codeobject.c +++ b/Objects/codeobject.c @@ -15,11 +15,13 @@ #include "pycore_pystate.h" // _PyInterpreterState_GET() #include "pycore_setobject.h" // _PySet_NextEntry() #include "pycore_tuple.h" // _PyTuple_ITEMS() +#include "pycore_unicodeobject.h" // _PyUnicode_InternImmortal() #include "pycore_uniqueid.h" // _PyObject_AssignUniqueId() -#include "clinic/codeobject.c.h" +#include "clinic/codeobject.c.h" #include + #define INITIAL_SPECIALIZED_CODE_SIZE 16 static const char * diff --git a/Objects/dictobject.c b/Objects/dictobject.c index 254c1317e90..614c12bb250 100644 --- a/Objects/dictobject.c +++ b/Objects/dictobject.c @@ -116,23 +116,25 @@ As a consequence of this, split keys have a maximum size of 16. #define PyDict_MINSIZE 8 #include "Python.h" -#include "pycore_bitutils.h" // _Py_bit_length -#include "pycore_call.h" // _PyObject_CallNoArgs() -#include "pycore_ceval.h" // _PyEval_GetBuiltin() -#include "pycore_code.h" // stats -#include "pycore_critical_section.h" // Py_BEGIN_CRITICAL_SECTION, Py_END_CRITICAL_SECTION -#include "pycore_dict.h" // export _PyDict_SizeOf() -#include "pycore_freelist.h" // _PyFreeListState_GET() -#include "pycore_gc.h" // _PyObject_GC_IS_TRACKED() -#include "pycore_object.h" // _PyObject_GC_TRACK(), _PyDebugAllocatorStats() +#include "pycore_bitutils.h" // _Py_bit_length +#include "pycore_call.h" // _PyObject_CallNoArgs() +#include "pycore_ceval.h" // _PyEval_GetBuiltin() +#include "pycore_code.h" // stats +#include "pycore_critical_section.h" // Py_BEGIN_CRITICAL_SECTION, Py_END_CRITICAL_SECTION +#include "pycore_dict.h" // export _PyDict_SizeOf() +#include "pycore_freelist.h" // _PyFreeListState_GET() +#include "pycore_gc.h" // _PyObject_GC_IS_TRACKED() +#include "pycore_object.h" // _PyObject_GC_TRACK(), _PyDebugAllocatorStats() #include "pycore_pyatomic_ft_wrappers.h" // FT_ATOMIC_LOAD_SSIZE_RELAXED -#include "pycore_pyerrors.h" // _PyErr_GetRaisedException() -#include "pycore_pystate.h" // _PyThreadState_GET() -#include "pycore_setobject.h" // _PySet_NextEntry() -#include "stringlib/eq.h" // unicode_eq() +#include "pycore_pyerrors.h" // _PyErr_GetRaisedException() +#include "pycore_pystate.h" // _PyThreadState_GET() +#include "pycore_setobject.h" // _PySet_NextEntry() +#include "pycore_unicodeobject.h" // _PyUnicode_InternImmortal() +#include "stringlib/eq.h" // unicode_eq() #include + /*[clinic input] class dict "PyDictObject *" "&PyDict_Type" [clinic start generated code]*/ diff --git a/Objects/frameobject.c b/Objects/frameobject.c index 152005a19a8..665199f7436 100644 --- a/Objects/frameobject.c +++ b/Objects/frameobject.c @@ -7,10 +7,12 @@ #include "pycore_function.h" // _PyFunction_FromConstructor() #include "pycore_genobject.h" // _PyGen_GetGeneratorFromFrame() #include "pycore_moduleobject.h" // _PyModule_GetDict() +#include "pycore_cell.h" // PyCell_GetRef() PyCell_SetTakeRef() #include "pycore_modsupport.h" // _PyArg_CheckPositional() #include "pycore_object.h" // _PyObject_GC_UNTRACK() -#include "pycore_cell.h" // PyCell_GetRef() PyCell_SetTakeRef() #include "pycore_opcode_metadata.h" // _PyOpcode_Deopt, _PyOpcode_Caches +#include "pycore_optimizer.h" // _Py_Executors_InvalidateDependency() +#include "pycore_unicodeobject.h" // _PyUnicode_Equal() #include "frameobject.h" // PyFrameObject diff --git a/Objects/genericaliasobject.c b/Objects/genericaliasobject.c index 8e6bc31a05e..a56ed908d71 100644 --- a/Objects/genericaliasobject.c +++ b/Objects/genericaliasobject.c @@ -5,6 +5,7 @@ #include "pycore_modsupport.h" // _PyArg_NoKeywords() #include "pycore_object.h" #include "pycore_typevarobject.h" // _Py_typing_type_repr +#include "pycore_unicodeobject.h" // _PyUnicode_EqualToASCIIString() #include "pycore_unionobject.h" // _Py_union_type_or, _PyGenericAlias_Check diff --git a/Objects/genobject.c b/Objects/genobject.c index 005f1a13c4b..0669dba1f36 100644 --- a/Objects/genobject.c +++ b/Objects/genobject.c @@ -16,6 +16,7 @@ #include "pycore_pyatomic_ft_wrappers.h" // FT_ATOMIC_* #include "pycore_pyerrors.h" // _PyErr_ClearExcState() #include "pycore_pystate.h" // _PyThreadState_GET() +#include "pycore_warnings.h" // _PyErr_WarnUnawaitedCoroutine() // Forward declarations static PyObject* gen_close(PyObject *, PyObject *); diff --git a/Objects/moduleobject.c b/Objects/moduleobject.c index 1af3ce6fe9b..2412f994d4b 100644 --- a/Objects/moduleobject.c +++ b/Objects/moduleobject.c @@ -5,6 +5,7 @@ #include "pycore_call.h" // _PyObject_CallNoArgs() #include "pycore_dict.h" // _PyDict_EnablePerThreadRefcounting() #include "pycore_fileutils.h" // _Py_wgetcwd +#include "pycore_import.h" // _PyImport_GetNextModuleIndex() #include "pycore_interp.h" // PyInterpreterState.importlib #include "pycore_long.h" // _PyLong_GetOne() #include "pycore_modsupport.h" // _PyModule_CreateInitialized() @@ -13,6 +14,7 @@ #include "pycore_pyerrors.h" // _PyErr_FormatFromCause() #include "pycore_pystate.h" // _PyInterpreterState_GET() #include "pycore_sysmodule.h" // _PySys_GetOptionalAttrString() +#include "pycore_unicodeobject.h" // _PyUnicode_EqualToASCIIString() #include "osdefs.h" // MAXPATHLEN diff --git a/Python/_warnings.c b/Python/_warnings.c index 64a6e1dea31..3271768e6f6 100644 --- a/Python/_warnings.c +++ b/Python/_warnings.c @@ -1,6 +1,7 @@ #include "Python.h" #include "pycore_critical_section.h" // Py_BEGIN_CRITICAL_SECTION_MUT() #include "pycore_frame.h" // PyFrameObject members +#include "pycore_import.h" // _PyImport_GetModules() #include "pycore_interp.h" // PyInterpreterState.warnings #include "pycore_long.h" // _PyLong_GetZero() #include "pycore_pyerrors.h" // _PyErr_Occurred() @@ -8,11 +9,12 @@ #include "pycore_pystate.h" // _PyThreadState_GET() #include "pycore_sysmodule.h" // _PySys_GetOptionalAttr() #include "pycore_traceback.h" // _Py_DisplaySourceLine() +#include "pycore_unicodeobject.h" // _PyUnicode_EqualToASCIIString() #include - #include "clinic/_warnings.c.h" + #define MODULE_NAME "_warnings" PyDoc_STRVAR(warnings__doc__, diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c index 1b87e6e0b6c..6709f306bb0 100644 --- a/Python/bltinmodule.c +++ b/Python/bltinmodule.c @@ -6,6 +6,7 @@ #include "pycore_ceval.h" // _PyEval_Vector() #include "pycore_compile.h" // _PyAST_Compile() #include "pycore_fileutils.h" // _PyFile_Flush +#include "pycore_floatobject.h" // _PyFloat_ExactDealloc() #include "pycore_interp.h" // _PyInterpreterState_GetConfig() #include "pycore_long.h" // _PyLong_CompactValue #include "pycore_modsupport.h" // _PyArg_NoKwnames() diff --git a/Python/ceval.c b/Python/ceval.c index 7248e0bbc0e..42f5eaddd2e 100644 --- a/Python/ceval.c +++ b/Python/ceval.c @@ -11,7 +11,9 @@ #include "pycore_ceval.h" #include "pycore_code.h" #include "pycore_emscripten_signal.h" // _Py_CHECK_EMSCRIPTEN_SIGNALS +#include "pycore_floatobject.h" // _PyFloat_ExactDealloc() #include "pycore_function.h" +#include "pycore_import.h" // _PyImport_IsDefaultImportFunc() #include "pycore_instruments.h" #include "pycore_intrinsics.h" #include "pycore_jit.h" diff --git a/Python/ceval_gil.c b/Python/ceval_gil.c index 2c1cc17b2ff..a382aa6f1e1 100644 --- a/Python/ceval_gil.c +++ b/Python/ceval_gil.c @@ -3,12 +3,14 @@ #include "pycore_ceval.h" // _PyEval_SignalReceived() #include "pycore_initconfig.h" // _PyStatus_OK() #include "pycore_interp.h" // _Py_RunGC() +#include "pycore_optimizer.h" // _Py_Executors_InvalidateCold() #include "pycore_pyerrors.h" // _PyErr_GetRaisedException() #include "pycore_pylifecycle.h" // _PyErr_Print() #include "pycore_pymem.h" // _PyMem_IsPtrFreed() #include "pycore_pystate.h" // PyThread_hang_thread() #include "pycore_pystats.h" // _Py_PrintSpecializationStats() + /* Notes about the implementation: diff --git a/Python/codecs.c b/Python/codecs.c index 51f4beb8466..265f5214e5b 100644 --- a/Python/codecs.c +++ b/Python/codecs.c @@ -15,6 +15,7 @@ Copyright (c) Corporation for National Research Initiatives. #include "pycore_pystate.h" // _PyInterpreterState_GET() #include "pycore_runtime.h" // _Py_ID() #include "pycore_ucnhash.h" // _PyUnicode_Name_CAPI +#include "pycore_unicodeobject.h" // _PyUnicode_InternMortal() static const char *codecs_builtin_error_handlers[] = { diff --git a/Python/dynload_shlib.c b/Python/dynload_shlib.c index 5a37a83805b..583c9b752df 100644 --- a/Python/dynload_shlib.c +++ b/Python/dynload_shlib.c @@ -2,9 +2,11 @@ /* Support for dynamic loading of extension modules */ #include "Python.h" -#include "pycore_interp.h" // _PyInterpreterState.dlopenflags -#include "pycore_pystate.h" // _PyInterpreterState_GET() +#include "pycore_fileutils.h" // struct _Py_stat_struct +#include "pycore_import.h" // _PyImport_GetDLOpenFlags() #include "pycore_importdl.h" +#include "pycore_interp.h" // _PyInterpreterState.dlopenflags +#include "pycore_pystate.h" // _PyInterpreterState_GET() #include #include diff --git a/Python/import.c b/Python/import.c index 690793edb80..8742b6ec767 100644 --- a/Python/import.c +++ b/Python/import.c @@ -18,6 +18,7 @@ #include "pycore_pystate.h" // _PyInterpreterState_GET() #include "pycore_sysmodule.h" // _PySys_ClearAttrString() #include "pycore_time.h" // _PyTime_AsMicroseconds() +#include "pycore_unicodeobject.h" // _PyUnicode_AsUTF8NoNUL() #include "pycore_weakref.h" // _PyWeakref_GET_REF() #include "marshal.h" // PyMarshal_ReadObjectFromString() diff --git a/Python/instrumentation.c b/Python/instrumentation.c index 56035d6ae5a..031c450bb60 100644 --- a/Python/instrumentation.c +++ b/Python/instrumentation.c @@ -12,6 +12,7 @@ #include "pycore_object.h" #include "pycore_opcode_metadata.h" // IS_VALID_OPCODE, _PyOpcode_Caches #include "pycore_opcode_utils.h" // IS_CONDITIONAL_JUMP_OPCODE +#include "pycore_optimizer.h" // _PyExecutorObject #include "pycore_pyatomic_ft_wrappers.h" // FT_ATOMIC_STORE_UINTPTR_RELEASE #include "pycore_pyerrors.h" #include "pycore_pystate.h" // _PyInterpreterState_GET() diff --git a/Python/pylifecycle.c b/Python/pylifecycle.c index 0513d614c6e..12a48316cbc 100644 --- a/Python/pylifecycle.c +++ b/Python/pylifecycle.c @@ -1,8 +1,6 @@ /* Python interpreter top-level routines, including init/exit */ #include "Python.h" -#include "pycore_runtime_structs.h" -#include "pycore_unicodeobject.h" #include "pycore_audit.h" // _PySys_ClearAuditHooks() #include "pycore_call.h" // _PyObject_CallMethod() #include "pycore_ceval.h" // _PyEval_FiniGIL() @@ -11,15 +9,16 @@ #include "pycore_dict.h" // _PyDict_Fini() #include "pycore_exceptions.h" // _PyExc_InitTypes() #include "pycore_fileutils.h" // _Py_ResetForceASCII() -#include "pycore_freelist.h" // _PyObject_ClearFreeLists() #include "pycore_floatobject.h" // _PyFloat_InitTypes() -#include "pycore_global_objects_fini_generated.h" // "_PyStaticObjects_CheckRefcnt() +#include "pycore_freelist.h" // _PyObject_ClearFreeLists() +#include "pycore_global_objects_fini_generated.h" // _PyStaticObjects_CheckRefcnt() #include "pycore_hamt.h" // _PyHamt_Type #include "pycore_import.h" // _PyImport_BootstrapImp() #include "pycore_initconfig.h" // _PyStatus_OK() #include "pycore_list.h" // _PyList_Fini() #include "pycore_long.h" // _PyLong_InitTypes() #include "pycore_object.h" // _PyDebug_PrintTotalRefs() +#include "pycore_obmalloc.h" // _PyMem_init_obmalloc() #include "pycore_pathconfig.h" // _PyPathConfig_UpdateGlobal() #include "pycore_pyerrors.h" // _PyErr_Occurred() #include "pycore_pylifecycle.h" // _PyErr_Print() @@ -27,16 +26,17 @@ #include "pycore_pystate.h" // _PyThreadState_GET() #include "pycore_runtime.h" // _Py_ID() #include "pycore_runtime_init.h" // _PyRuntimeState_INIT +#include "pycore_runtime_structs.h" #include "pycore_setobject.h" // _PySet_NextEntry() #include "pycore_sliceobject.h" // _PySlice_Fini() #include "pycore_sysmodule.h" // _PySys_ClearAttrString() #include "pycore_traceback.h" // _Py_DumpTracebackThreads() -#include "pycore_uniqueid.h" // _PyObject_FinalizeUniqueIdPool() #include "pycore_typeobject.h" // _PyTypes_InitTypes() #include "pycore_typevarobject.h" // _Py_clear_generic_types() #include "pycore_unicodeobject.h" // _PyUnicode_InitTypes() +#include "pycore_uniqueid.h" // _PyObject_FinalizeUniqueIdPool() +#include "pycore_warnings.h" // _PyWarnings_InitState() #include "pycore_weakref.h" // _PyWeakref_GET_REF() -#include "pycore_obmalloc.h" // _PyMem_init_obmalloc() #include "opcode.h" diff --git a/Python/pystate.c b/Python/pystate.c index 3aec10219b0..c755e0d9f27 100644 --- a/Python/pystate.c +++ b/Python/pystate.c @@ -16,6 +16,7 @@ #include "pycore_freelist.h" // _PyObject_ClearFreeLists() #include "pycore_initconfig.h" // _PyStatus_OK() #include "pycore_object.h" // _PyType_InitCache() +#include "pycore_optimizer.h" // JIT_CLEANUP_THRESHOLD #include "pycore_parking_lot.h" // _PyParkingLot_AfterFork() #include "pycore_pyerrors.h" // _PyErr_Clear() #include "pycore_pylifecycle.h" // _PyAST_Fini() diff --git a/Python/pythonrun.c b/Python/pythonrun.c index 6e24131e5b1..23af8b6f6be 100644 --- a/Python/pythonrun.c +++ b/Python/pythonrun.c @@ -15,6 +15,7 @@ #include "pycore_ceval.h" // _Py_EnterRecursiveCall() #include "pycore_compile.h" // _PyAST_Compile() #include "pycore_fileutils.h" // _PyFile_Flush +#include "pycore_import.h" // _PyImport_GetImportlibExternalLoader() #include "pycore_interp.h" // PyInterpreterState.importlib #include "pycore_object.h" // _PyDebug_PrintTotalRefs() #include "pycore_parser.h" // _PyParser_ASTFromString() @@ -24,6 +25,7 @@ #include "pycore_pythonrun.h" // export _PyRun_InteractiveLoopObject() #include "pycore_sysmodule.h" // _PySys_SetAttr() #include "pycore_traceback.h" // _PyTraceBack_Print() +#include "pycore_unicodeobject.h" // _PyUnicode_Equal() #include "errcode.h" // E_EOF #include "marshal.h" // PyMarshal_ReadLongFromFile() diff --git a/Python/sysmodule.c b/Python/sysmodule.c index adaa5ee1c74..c06ae90ee2b 100644 --- a/Python/sysmodule.c +++ b/Python/sysmodule.c @@ -20,11 +20,13 @@ Data members: #include "pycore_ceval.h" // _PyEval_SetAsyncGenFinalizer() #include "pycore_dict.h" // _PyDict_GetItemWithError() #include "pycore_frame.h" // _PyInterpreterFrame +#include "pycore_import.h" // _PyImport_SetDLOpenFlags() #include "pycore_initconfig.h" // _PyStatus_EXCEPTION() #include "pycore_long.h" // _PY_LONG_MAX_STR_DIGITS_THRESHOLD #include "pycore_modsupport.h" // _PyModule_CreateInitialized() #include "pycore_namespace.h" // _PyNamespace_New() #include "pycore_object.h" // _PyObject_DebugTypeStats() +#include "pycore_optimizer.h" // _PyDumpExecutors() #include "pycore_pathconfig.h" // _PyPathConfig_ComputeSysPath0() #include "pycore_pyerrors.h" // _PyErr_GetRaisedException() #include "pycore_pylifecycle.h" // _PyErr_WriteUnraisableDefaultHook() @@ -35,6 +37,7 @@ Data members: #include "pycore_structseq.h" // _PyStructSequence_InitBuiltinWithFlags() #include "pycore_sysmodule.h" // export _PySys_GetSizeOf() #include "pycore_tuple.h" // _PyTuple_FromArray() +#include "pycore_unicodeobject.h" // _PyUnicode_InternImmortal() #include "pydtrace.h" // PyDTrace_AUDIT() #include "osdefs.h" // DELIM