Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | bpo-44990: Change layout of evaluation frames. "Layout B" (GH-27933) | Mark Shannon | 2021-08-25 | 1 | -20/+12 |
| | | | Places the locals between the specials and stack. This is the more "natural" layout for a C struct, makes the code simpler and gives a slight speedup (~1%) | ||||
* | bpo-44590: Lazily allocate frame objects (GH-27077) | Mark Shannon | 2021-07-26 | 1 | -0/+135 |
* Convert "specials" array to InterpreterFrame struct, adding f_lasti, f_state and other non-debug FrameObject fields to it. * Refactor, calls pushing the call to the interpreter upward toward _PyEval_Vector. * Compute f_back when on thread stack, only filling in value when frame object outlives stack invocation. * Move ownership of InterpreterFrame in generator from frame object to generator object. * Do not create frame objects for Python calls. * Do not create frame objects for generators. |