The Wayback Machine - https://web.archive.org/web/20211027030144/https://github.com/python/cpython/pull/27933
Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bpo-44990: Change layout of evaluation frames. "Layout B" #27933

Merged
merged 6 commits into from Aug 25, 2021

Conversation

@markshannon
Copy link
Contributor

@markshannon markshannon commented Aug 24, 2021

Changes the layout of evaluation frames from:

  • stack
  • specials & linkage
  • locals

to:

  • stack
  • locals
  • specials & linkage

(Higher addresses at top)

Which is how the old frame object was laid out (at least after the "block stack" was removed).

This simplifies the code and is generally less surprising to the reader (locals is now a constant positive offset from the frame pointer, not a computed negative offset).

It is no slower, in fact it is about 1% faster

https://bugs.python.org/issue44990

@bedevere-bot
Copy link

@bedevere-bot bedevere-bot commented Aug 24, 2021

🤖 New build scheduled with the buildbot fleet by @markshannon for commit dbad8a1 🤖

If you want to schedule another build, you need to add the "🔨 test-with-buildbots" label again.

@markshannon
Copy link
Contributor Author

@markshannon markshannon commented Aug 25, 2021

The failure on buildbot/AMD64 Arch Linux Asan Debug PR is unrelated.

@markshannon markshannon reopened this Aug 25, 2021
@markshannon markshannon merged commit f9242d5 into python:main Aug 25, 2021
18 of 19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants