mirror of
https://github.com/python/cpython.git
synced 2025-07-31 15:14:22 +00:00
gh-91502: Add a new API to check if a frame is an entry frame (GH-91503)
This commit is contained in:
parent
54f67ad543
commit
37a53fb6bd
3 changed files with 20 additions and 0 deletions
|
@ -19,6 +19,16 @@ PyAPI_FUNC(PyFrameObject *) PyFrame_New(PyThreadState *, PyCodeObject *,
|
||||||
|
|
||||||
PyAPI_FUNC(void) PyFrame_LocalsToFast(PyFrameObject *, int);
|
PyAPI_FUNC(void) PyFrame_LocalsToFast(PyFrameObject *, int);
|
||||||
|
|
||||||
|
/* -- Caveat emptor --
|
||||||
|
* The concept of entry frames is an implementation detail of the CPython
|
||||||
|
* interpreter. This API is considered unstable and is provided for the
|
||||||
|
* convenience of debuggers, profilers and state-inspecting tools. Notice that
|
||||||
|
* this API can be changed in future minor versions if the underlying frame
|
||||||
|
* mechanism change or the concept of an 'entry frame' or its semantics becomes
|
||||||
|
* obsolete or outdated. */
|
||||||
|
|
||||||
|
PyAPI_FUNC(int) _PyFrame_IsEntryFrame(PyFrameObject *frame);
|
||||||
|
|
||||||
PyAPI_FUNC(int) PyFrame_FastToLocalsWithError(PyFrameObject *f);
|
PyAPI_FUNC(int) PyFrame_FastToLocalsWithError(PyFrameObject *f);
|
||||||
PyAPI_FUNC(void) PyFrame_FastToLocals(PyFrameObject *);
|
PyAPI_FUNC(void) PyFrame_FastToLocals(PyFrameObject *);
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
Add a new :c:func:`_PyFrame_IsEntryFrame` API function, to check if a
|
||||||
|
:c:type:`PyFrameObject` is an entry frame. Patch by Pablo Galindo.
|
|
@ -1104,6 +1104,14 @@ PyFrame_LocalsToFast(PyFrameObject *f, int clear)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int _PyFrame_IsEntryFrame(PyFrameObject *frame)
|
||||||
|
{
|
||||||
|
assert(frame != NULL);
|
||||||
|
return frame->f_frame->is_entry;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
PyCodeObject *
|
PyCodeObject *
|
||||||
PyFrame_GetCode(PyFrameObject *frame)
|
PyFrame_GetCode(PyFrameObject *frame)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue