mirror of
https://github.com/python/cpython.git
synced 2025-10-21 14:12:27 +00:00
bpo-39946: Remove _PyThreadState_GetFrame (GH-19094)
Remove _PyRuntime.getframe hook and remove _PyThreadState_GetFrame macro which was an alias to _PyRuntime.getframe. They were only exposed by the internal C API. Remove also PyThreadFrameGetter type.
This commit is contained in:
parent
fd1e1a18fa
commit
6723e933c4
7 changed files with 14 additions and 34 deletions
|
@ -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) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue