From ff4584caca04cb3da0dbd5b1e9bf67e40adf5312 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Fri, 13 Mar 2020 18:03:56 +0100 Subject: 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(). --- Python/pythonrun.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'Python/pythonrun.c') diff --git a/Python/pythonrun.c b/Python/pythonrun.c index f4ded2e24a..76bc48d19b 100644 --- a/Python/pythonrun.c +++ b/Python/pythonrun.c @@ -95,7 +95,7 @@ PyRun_InteractiveLoopFlags(FILE *fp, const char *filename_str, PyCompilerFlags * PyCompilerFlags local_flags = _PyCompilerFlags_INIT; int nomem_count = 0; #ifdef Py_REF_DEBUG - int show_ref_count = _PyInterpreterState_Get()->config.show_ref_count; + int show_ref_count = _PyInterpreterState_GET_UNSAFE()->config.show_ref_count; #endif filename = PyUnicode_DecodeFSDefault(filename_str); @@ -346,7 +346,7 @@ set_main_loader(PyObject *d, const char *filename, const char *loader_name) filename_obj = PyUnicode_DecodeFSDefault(filename); if (filename_obj == NULL) return -1; - PyInterpreterState *interp = _PyInterpreterState_Get(); + PyInterpreterState *interp = _PyInterpreterState_GET_UNSAFE(); bootstrap = PyObject_GetAttrString(interp->importlib, "_bootstrap_external"); if (bootstrap != NULL) { @@ -1117,7 +1117,7 @@ run_eval_code_obj(PyCodeObject *co, PyObject *globals, PyObject *locals) /* Set globals['__builtins__'] if it doesn't exist */ if (globals != NULL && PyDict_GetItemString(globals, "__builtins__") == NULL) { - PyInterpreterState *interp = _PyInterpreterState_Get(); + PyInterpreterState *interp = _PyInterpreterState_GET_UNSAFE(); if (PyDict_SetItemString(globals, "__builtins__", interp->builtins) < 0) { return NULL; } -- cgit v1.2.1