This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author Mark.Shannon
Recipients Mark.Shannon, brandtbucher
Date 2022-04-04.11:59:07
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1649073547.57.0.863491457391.issue47215@roundup.psfhosted.org>
In-reply-to
Content
We need to provide an API to create, swap and free frame stacks for greenlets.

Since this is primarily for greenlets (and any other stackful coroutines libraries that want to use it) it will be "unstable".

In this case, by "unstable" I mean:
1. Starts with an underscore
2. Gets PyAPI_FUNC annotations, so we don't strip the symbols from the executable
3. Undocumented, except for comments that say it is unstable.

The API will be:

```
typedef struct _frame_stack {
    _PyStackChunk *current_chunk;
    PyObject **top;
    PyObject **limit;
    int chunk_size;
} _PyFrameStack;

PyAPI_FUNC(void) _PyFrameStack_Init(_PyFrameStack *fs, int chunk_size);
PyAPI_FUNC(void) _PyFrameStack_Swap(_PyFrameStack *fs);
PyAPI_FUNC(void) _PyFrameStack_Free(_PyFrameStack *fs);

```
History
Date User Action Args
2022-04-04 11:59:07Mark.Shannonsetrecipients: + Mark.Shannon, brandtbucher
2022-04-04 11:59:07Mark.Shannonsetmessageid: <1649073547.57.0.863491457391.issue47215@roundup.psfhosted.org>
2022-04-04 11:59:07Mark.Shannonlinkissue47215 messages
2022-04-04 11:59:07Mark.Shannoncreate