bpo-42810: Mark jumps at end of if and try statements as artificial.#24091
Merged
Conversation
pablogsal
reviewed
Jan 4, 2021
| return 0; \ | ||
| } | ||
|
|
||
| #define ADDOP_JUMP_NOLINE(C, OP, O) { \ |
Member
There was a problem hiding this comment.
Small suggestion (I haven't checked all the PR in detail): we could use something like ADDOP_ARTIFICIAL_JUMP instead of ADDOP_JUMP_NOLINE so is clear the kind of jump more than how it will behave
Member
Author
There was a problem hiding this comment.
I think I prefer NOLINE to ARTIFICIAL. NOLINE explains what it does, ARTIFICIAL explains why.
I'd prefer the code to say what it does, and leave the "why" to comments.
I'll add a comment to explain why the opcode should have no line number.
Member
|
Thanks for fixing it! The release dice were not in our favor: it missed being in 3.10.0a4 by one commit! |
adorilson
pushed a commit
to adorilson/cpython
that referenced
this pull request
Mar 13, 2021
…ythonGH-24091) * Mark jumps at end of if and try statements as artificial. * Update importlib * Add comment explaining the purpose of ADDOP_JUMP_NOLINE.
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.
This PR marks jumps with no corresponding source token as artificial.
These jumps occur at the end of the body of an
ifstatement, inand/orexpression and intrystatements.Also fixes https://bugs.python.org/issue42803
Skipping NEWS as this PR is cleaning up a very recent regression.
https://bugs.python.org/issue42810