bpo-39947: Use _PyInterpreterState_GET_UNSAFE() (GH-18978)
Replace _PyInterpreterState_Get() function call with
_PyInterpreterState_GET_UNSAFE() macro which is more efficient but
don't check if tstate or interp is NULL.
_Py_GetConfigsAsDict() now uses _PyThreadState_GET().
diff --git a/Objects/moduleobject.c b/Objects/moduleobject.c
index 30de53d..c581951 100644
--- a/Objects/moduleobject.c
+++ b/Objects/moduleobject.c
@@ -174,7 +174,7 @@
PyObject *
PyModule_Create2(struct PyModuleDef* module, int module_api_version)
{
- if (!_PyImport_IsInitialized(_PyInterpreterState_Get())) {
+ if (!_PyImport_IsInitialized(_PyInterpreterState_GET_UNSAFE())) {
PyErr_SetString(PyExc_SystemError,
"Python import machinery not initialized");
return NULL;
@@ -699,7 +699,7 @@
static PyObject *
module_repr(PyModuleObject *m)
{
- PyInterpreterState *interp = _PyInterpreterState_Get();
+ PyInterpreterState *interp = _PyInterpreterState_GET_UNSAFE();
return PyObject_CallMethod(interp->importlib, "_module_repr", "O", m);
}