Skip to content
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

Turn On WebAssembly Tail Calls #992

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

CryZe
Copy link
Collaborator

@CryZe CryZe commented Dec 11, 2024

With Safari 18.2 having shipped today, all browsers now support WebAssembly Tail Calls. This allows the compiler to call a function at the end of the current function by reusing the stack frame. This should be a tiny bit faster and allow for recursion without stack overflows... except that Rust doesn't have any way of guaranteeing this yet, so you can't really rely on it.

@CryZe CryZe added enhancement A new feature or general improvement to LiveSplit One. performance Performance is suboptimal and should be improved. labels Dec 11, 2024
@CryZe CryZe enabled auto-merge (squash) December 11, 2024 20:38
@CryZe CryZe disabled auto-merge December 11, 2024 20:38
With Safari 18.2 having shipped today, all browsers now support
WebAssembly Tail Calls. This allows the compiler to call a function at
the end of the current function by reusing the stack frame. This should
be a tiny bit faster and allow for recursion without stack overflows...
except that Rust doesn't have any way of guaranteeing this yet, so you
can't really rely on it.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement A new feature or general improvement to LiveSplit One. performance Performance is suboptimal and should be improved.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant