◐ Shell
reader mode source ↗
Skip to content

gh-106581: Project through calls#108067

Merged
gvanrossum merged 18 commits into
python:mainfrom
gvanrossum:project-uops
Aug 17, 2023
Merged

gh-106581: Project through calls#108067
gvanrossum merged 18 commits into
python:mainfrom
gvanrossum:project-uops

Conversation

@gvanrossum

@gvanrossum gvanrossum commented Aug 16, 2023

Copy link
Copy Markdown
Member

This finishes the work begun in gh-107760. When, while projecting a superblock, we encounter a call to a short, simple function, the superblock will now enter the function using _PUSH_FRAME, continue through it, and leave it using _POP_FRAME, and then continue through the original code. Multiple frame pushes and pops are even possible. It is also possible to stop appending to the superblock in the middle of a called function, when running out of space or encountering an unsupported bytecode.

(I had two previous draft PRs covering this work, gh-107793 and gh-107925, but I decided to combine them.)

@gvanrossum gvanrossum changed the title gh-b5ad46cfa4: Project through calls Aug 16, 2023
@Eclips4 Eclips4 added the interpreter-core (Objects, Python, Grammar, and Parser dirs) label Aug 17, 2023
@gvanrossum gvanrossum merged commit 61c7249 into python:main Aug 17, 2023
@gvanrossum gvanrossum deleted the project-uops branch August 17, 2023 18:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

interpreter-core (Objects, Python, Grammar, and Parser dirs) skip news

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants