bpo-44032: Move data stack to thread from FrameObject.#26076
Conversation
…ocals + frees + cells.
… and slow implementation.
…y use most of the time.
470b206 to
d9936c3
Compare
May 13, 2021 13:10
d9936c3 to
2c14939
Compare
May 13, 2021 15:21
ericsnowcurrently
left a comment
There was a problem hiding this comment.
Overall, looks good and the value of this change seems pretty clear. 🙂
I'll probably take a second pass before approving. I mostly follow the change, but mapping the old code to the new conceptually isn't easy. The old code was fairly straight-forward to follow. The new code isn't quite so easy. It may help to have a bit more explanation somewhere of how the threadstate-based stack operates, including relative to frames.
Sorry, something went wrong.
|
When you're done making the requested changes, leave the comment: |
Sorry, something went wrong.
ericsnowcurrently
left a comment
There was a problem hiding this comment.
LGTM
After some offline discussion it makes sense now. We would still benefit from some explanation in the code though.
Sorry, something went wrong.
|
🤖 New build scheduled with the buildbot fleet by @markshannon for commit c5ccb7d 🤖 If you want to schedule another build, you need to add the ":hammer: test-with-buildbots" label again. |
Sorry, something went wrong.
|
The failure was a timeout on test_multiprocessing_fork one of the refleak buildbots. |
Sorry, something went wrong.
Move local, cell and free variables, plus the evaluation stack to the thread.
Cuts down the size of frames to under 100 bytes, and enables further optimizations of Python-to-Python calls.
https://bugs.python.org/issue44032