[issue44032] Function locals and evaluation stack should be stored in a contiguous, per-thread stack

STINNER Victor report at bugs.python.org
Tue May 25 05:56:55 EDT 2021


STINNER Victor <vstinner at python.org> added the comment:

bpo-44184 has been fixed, it was unrelated. Mark fixed a bug in commit af5d497f72ceaf3f207a8aded028607c4c46a993. It seems like all issues are solved, I close the issue.

Mark: please set the version field to 3.11 for work in 3.11.


Commits:

commit b11a951f16f0603d98de24fee5c023df83ea552c
Author: Mark Shannon <mark at hotpy.org>
Date:   Fri May 21 10:57:35 2021 +0100

    bpo-44032: Move data stack to thread from FrameObject. (GH-26076)
    
    * Remove 'zombie' frames. We won't need them once we are allocating fixed-size frames.
    
    * Add co_nlocalplus field to code object to avoid recomputing size of locals + frees + cells.
    
    * Move locals, cells and freevars out of frame object into separate memory buffer.
    
    * Use per-threadstate allocated memory chunks for local variables.
    
    * Move globals and builtins from frame object to per-thread stack.
    
    * Move (slow) locals frame object to per-thread stack.
    
    * Move internal frame functions to internal header.

commit 498383c019c1209f6fecf8f64ce44fbf437191da
Author: Pablo Galindo <Pablogsal at gmail.com>
Date:   Fri May 21 19:15:39 2021 +0100

    bpo-44032: Fix downcast conversion in frameobject.c (GH-26291)

commit af5d497f72ceaf3f207a8aded028607c4c46a993
Author: Mark Shannon <mark at hotpy.org>
Date:   Mon May 24 16:22:02 2021 +0100

    bpo-44032: Delay deletion of stack chunks until thread state is deleted. (GH-26285)

----------
resolution:  -> fixed
stage: patch review -> resolved
status: open -> closed
versions: +Python 3.11

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue44032>
_______________________________________


More information about the Python-bugs-list mailing list