-
-
Notifications
You must be signed in to change notification settings - Fork 31.2k
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-45753: Interpreter internal tweaks #29575
bpo-45753: Interpreter internal tweaks #29575
Conversation
…nd easier to enhance.
…istinguish between normal trace events and dtrace events.
Skipping NEWS as this is just a refactor. There is no change to behavior, API, or performance. |
The Windows failure appears to be a glitch. |
@pablogsal Could you take a look at the rearrangement of the code in |
I'm currently unavailable until this Friday. Can you wait until then? |
No problem |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some comments while you wait for Pablo. Many are probably just for improving my own understanding of the changes here:
When you're done making the requested changes, leave the comment: |
🤖 New build scheduled with the buildbot fleet by @markshannon for commit 88610c7 🤖 If you want to schedule another build, you need to add the ":hammer: test-with-buildbots" label again. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have a few questions and nits but I think I understand this well enough to approve once you've replied to those -- you can take them or leave them.
The overall purpose of this PR is to help future work on inter-bytecode optimization and efficient support for tracing events.
This is a bit of an ugly PR as it attempts to do a few things which are conceptually only loosely related, but are interwoven in the code.
frame
. Pointer to the currentInterpreterFrame
names
andconsts
. Pointers to the names and consts tuples of the current code object. These could be merged into one in future (Merge co_names and co_consts into a single array. faster-cpython/ideas#92)first_instr
andnext_instr
. Pointers to the first and next instructions.stack_pointer
. The evaluation stack pointer.No meaningful change in performance
See faster-cpython/ideas#112 for motivation
https://bugs.python.org/issue45753