gh-81057: Move Global Variables Holding Objects to _PyRuntimeState. (gh-99487)

This moves nearly all remaining object-holding globals in core code (other than static types).

https://github.com/python/cpython/issues/81057
This commit is contained in:
Eric Snow 2022-11-14 13:50:56 -07:00 • committed by GitHub
parent 619cadcda6
commit a088290f9d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 66 additions and 55 deletions

View file

@ -1483,6 +1483,10 @@ def generate_ast_fini(module_state, f):
for s in module_state:
f.write(" Py_CLEAR(state->" + s + ');\n')
f.write(textwrap.dedent("""
if (_PyInterpreterState_Get() == _PyInterpreterState_Main()) {
Py_CLEAR(_Py_CACHED_OBJECT(str_replace_inf));
}
#if !defined(NDEBUG)
state->initialized = -1;
#else