bytecodealliance / bytecodealliance/wasmtime
Cranelift: Do parallel move solving for tail calls
Open
cranelift
cranelift:goal:optimize-speed
- Dominant language
- Rust
- Stars
- 18.6k
- Forks
- 1.8k
- Avg merge
- 1d 18h
- Merged PRs (30d)
- 126
Description
Right now we adjust SP, build the tail callee frame below the current frame and then copy it over the top of our current frame just before we reset SP and then transfer control to the callee.
We should avoid bumping SP twice and building a frame that we then copy by doing parallel moves solving. This will require exposing the parallel moves solver from `regalloc2`, but it is already generic, so should work for our purposes here.
Contributor guide
Assessment
This issue has not been assessed yet.