diff options
Diffstat (limited to 'Python')
-rw-r--r-- | Python/ceval.c | 17 | ||||
-rw-r--r-- | Python/pystate.c | 16 | ||||
-rw-r--r-- | Python/traceback.c | 2 |
3 files changed, 7 insertions, 28 deletions
diff --git a/Python/ceval.c b/Python/ceval.c index c80ee4b..836457d 100644 --- a/Python/ceval.c +++ b/Python/ceval.c @@ -4825,25 +4825,18 @@ _PyEval_GetAsyncGenFinalizer(void) return tstate->async_gen_finalizer; } -static PyFrameObject * -_PyEval_GetFrame(PyThreadState *tstate) -{ - _PyRuntimeState *runtime = tstate->interp->runtime; - return runtime->gilstate.getframe(tstate); -} - PyFrameObject * PyEval_GetFrame(void) { PyThreadState *tstate = _PyThreadState_GET(); - return _PyEval_GetFrame(tstate); + return tstate->frame; } PyObject * PyEval_GetBuiltins(void) { PyThreadState *tstate = _PyThreadState_GET(); - PyFrameObject *current_frame = _PyEval_GetFrame(tstate); + PyFrameObject *current_frame = tstate->frame; if (current_frame == NULL) return tstate->interp->builtins; else @@ -4869,7 +4862,7 @@ PyObject * PyEval_GetLocals(void) { PyThreadState *tstate = _PyThreadState_GET(); - PyFrameObject *current_frame = _PyEval_GetFrame(tstate); + PyFrameObject *current_frame = tstate->frame; if (current_frame == NULL) { _PyErr_SetString(tstate, PyExc_SystemError, "frame does not exist"); return NULL; @@ -4887,7 +4880,7 @@ PyObject * PyEval_GetGlobals(void) { PyThreadState *tstate = _PyThreadState_GET(); - PyFrameObject *current_frame = _PyEval_GetFrame(tstate); + PyFrameObject *current_frame = tstate->frame; if (current_frame == NULL) { return NULL; } @@ -4900,7 +4893,7 @@ int PyEval_MergeCompilerFlags(PyCompilerFlags *cf) { PyThreadState *tstate = _PyThreadState_GET(); - PyFrameObject *current_frame = _PyEval_GetFrame(tstate); + PyFrameObject *current_frame = tstate->frame; int result = cf->cf_flags != 0; if (current_frame != NULL) { diff --git a/Python/pystate.c b/Python/pystate.c index eea666b..6331a85 100644 --- a/Python/pystate.c +++ b/Python/pystate.c @@ -546,13 +546,6 @@ PyInterpreterState_GetDict(PyInterpreterState *interp) return interp->dict; } -/* Default implementation for _PyThreadState_GetFrame */ -static struct _frame * -threadstate_getframe(PyThreadState *self) -{ - return self->frame; -} - static PyThreadState * new_threadstate(PyInterpreterState *interp, int init) { @@ -562,10 +555,6 @@ new_threadstate(PyInterpreterState *interp, int init) return NULL; } - if (_PyThreadState_GetFrame == NULL) { - _PyThreadState_GetFrame = threadstate_getframe; - } - tstate->interp = interp; tstate->frame = NULL; @@ -1000,9 +989,6 @@ PyInterpreterState * PyThreadState_GetInterpreter(PyThreadState *tstate) { assert(tstate != NULL); - if (tstate == NULL) { - return NULL; - } return tstate->interp; } @@ -1011,7 +997,7 @@ struct _frame* PyThreadState_GetFrame(PyThreadState *tstate) { assert(tstate != NULL); - return _PyThreadState_GetFrame(tstate); + return tstate->frame; } diff --git a/Python/traceback.c b/Python/traceback.c index 8aaee12..f88ba1d 100644 --- a/Python/traceback.c +++ b/Python/traceback.c @@ -801,7 +801,7 @@ dump_traceback(int fd, PyThreadState *tstate, int write_header) PUTS(fd, "Stack (most recent call first):\n"); } - frame = _PyThreadState_GetFrame(tstate); + frame = tstate->frame; if (frame == NULL) { PUTS(fd, "<no Python frame>\n"); return; |