bpo-47045: Remove f_state field, and make ownership of _PyInterpreterFrame explicit.#31963
Merged
Merged
Conversation
|
🤖 New build scheduled with the buildbot fleet by @markshannon for commit 1be0129 🤖 If you want to schedule another build, you need to add the ":hammer: test-with-buildbots" label again. |
|
🤖 New build scheduled with the buildbot fleet by @markshannon for commit 3cf7d0a 🤖 If you want to schedule another build, you need to add the ":hammer: test-with-buildbots" label again. |
|
🤖 New build scheduled with the buildbot fleet by @markshannon for commit 5225175 🤖 If you want to schedule another build, you need to add the ":hammer: test-with-buildbots" label again. |
Member
Author
|
Buildbot failures are unrelated to this PR. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The main purpose of this change is to avoid having to update
f_statein the interpreter, with the ultimate aim of removingRESUMEinstructions.However, removing
f_statemakes it difficult to handle clearing and freeing frames owned by generators and frame objects.So, I've had to add the
ownerfield to make it explicit who owns the memory in a_PyInterpreterFrameFinally, we now track the kind of tracing event on the thread state. This seems to be necessary to maintain the semantics of
frame.set_lineno.https://bugs.python.org/issue47045