Skip to content

Investigate replacing push + static call with tail calls in implicit closure functions #44195

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

Open
sstrickl opened this issue Nov 13, 2020 · 0 comments
Assignees
Labels
area-vm Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends. vm-aot-code-size Related to improvements in AOT code size

Comments

@sstrickl
Copy link
Contributor

After CL 166622 lands for #40813, implicit closure functions no longer perform any internal checking. Instead, they are purely a redirect to the target.

Determine whether there is any value to having frames for implicit closure functions separate from their target. If not, in a followup CL change FlowGraphBuilder::BuildGraphOfImplicitClosureFunction to instead replace the closure on the stack with the receiver for a dynamic target, or adjust the arguments on the stack as necessary for a static target, and perform a tail call.

/cc @mkustermann

@sstrickl sstrickl added the area-vm Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends. label Nov 13, 2020
@sstrickl sstrickl self-assigned this Nov 13, 2020
@mkustermann mkustermann added type-performance Issue relates to performance or code size vm-aot-code-size Related to improvements in AOT code size and removed type-performance Issue relates to performance or code size labels Apr 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-vm Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends. vm-aot-code-size Related to improvements in AOT code size
Projects
None yet
Development

No branches or pull requests

2 participants