mirror of
https://github.com/python/cpython.git
synced 2024-11-23 01:45:25 +08:00
gh-127117: Ensure the Correct Last Fields of PyInterpreterState and of _PyRuntimeState (gh-127118)
We add some comments so contributors can be aware and we move one out-of-place field up.
This commit is contained in:
parent
a5440d4a38
commit
5ba67af006
@ -283,6 +283,8 @@ struct _is {
|
||||
|
||||
/* the initial PyInterpreterState.threads.head */
|
||||
_PyThreadStateImpl _initial_thread;
|
||||
// _initial_thread should be the last field of PyInterpreterState.
|
||||
// See https://github.com/python/cpython/issues/127117.
|
||||
};
|
||||
|
||||
|
||||
|
@ -169,6 +169,12 @@ typedef struct pyruntimestate {
|
||||
struct _Py_unicode_runtime_state unicode_state;
|
||||
struct _types_runtime_state types;
|
||||
|
||||
#if defined(__EMSCRIPTEN__) && defined(PY_CALL_TRAMPOLINE)
|
||||
// Used in "Python/emscripten_trampoline.c" to choose between type
|
||||
// reflection trampoline and EM_JS trampoline.
|
||||
bool wasm_type_reflection_available;
|
||||
#endif
|
||||
|
||||
/* All the objects that are shared by the runtime's interpreters. */
|
||||
struct _Py_cached_objects cached_objects;
|
||||
struct _Py_static_objects static_objects;
|
||||
@ -189,13 +195,8 @@ typedef struct pyruntimestate {
|
||||
|
||||
/* _PyRuntimeState.interpreters.main */
|
||||
PyInterpreterState _main_interpreter;
|
||||
|
||||
#if defined(__EMSCRIPTEN__) && defined(PY_CALL_TRAMPOLINE)
|
||||
// Used in "Python/emscripten_trampoline.c" to choose between type
|
||||
// reflection trampoline and EM_JS trampoline.
|
||||
bool wasm_type_reflection_available;
|
||||
#endif
|
||||
|
||||
// _main_interpreter should be the last field of _PyRuntimeState.
|
||||
// See https://github.com/python/cpython/issues/127117.
|
||||
} _PyRuntimeState;
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user