[3.11] gh-92228: disable the compiler's 'small exit block inlining' optimization for blocks that have a line number (GH-94592)#94643
Merged
miss-islington merged 3 commits intopython:3.11from Jul 7, 2022
Conversation
…ing' optimization for blocks that have a line number (pythonGH-94592) Inlining of code that corresponds to source code lines, can make it hard to distinguish later between code which is only reachable from except handlers, and that which is reachable in normal control flow. This caused problems with the debugger's jump feature. This PR turns off the inlining optimisation for code which has line numbers. We still inline things like the implicit "return None".. (cherry picked from commit bde06e1) Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com>
Member
Author
|
@iritkatriel I had to change |
Member
Yes this looks correct. Thank you for backporting the new with/async_with tests in test_dis. EDIT: Actually these two new tests were not being called, and if there were they would need to be rewritten with 3.11 bytecode. I removed them (w.r.t. this PR they are not covering anything that the dis_traceback test case is not already covering). |
iritkatriel
approved these changes
Jul 7, 2022
iritkatriel
reviewed
Jul 7, 2022
iritkatriel
reviewed
Jul 7, 2022
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.
Inlining of code that corresponds to source code lines, can make it hard to distinguish later between code which is only reachable from except handlers, and that which is reachable in normal control flow. This caused problems with the debugger's jump feature.
This PR turns off the inlining optimisation for code which has line numbers. We still inline things like the implicit "return None"..
(cherry picked from commit bde06e1)
Co-authored-by: Irit Katriel 1055913+iritkatriel@users.noreply.github.com
Automerge-Triggered-By: GH:tiran