-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Use the wasmtime-cranelift for winch component trampolines #8082
Use the wasmtime-cranelift for winch component trampolines #8082
Conversation
Subscribe to Label Action
This issue or pull request has been labeled: "winch"
Thus the following users have been cc'd because of the following labels:
To subscribe or unsubscribe from this label, edit the |
540fd4c
to
6ae2b77
Compare
Subscribe to Label Actioncc @peterhuene
This issue or pull request has been labeled: "wasmtime:api", "wasmtime:config"
Thus the following users have been cc'd because of the following labels:
To subscribe or unsubscribe from this label, edit the |
Label Messager: wasmtime:configIt looks like you are changing Wasmtime's configuration options. Make sure to
To modify this label's message, edit the To add new label messages or remove existing label messages, edit the |
Instead of reimplementing the component trampolines directly in terms of Winch's
MacroAssembler
trait, reusewasmtime-cranelift
'sCompiler
implementation to do that heavy lifting.I had to remove the type parameter from
CompiledFunction
and make it a boxeddyn Trait
to make this work, due to the requirements ofCompiler::append_code
, and the visibility ofModuleTextBuilder
in the crate hierarchy. I think that this refactoring could be pushed further to avoid the need to have theCompiler
trait interface produce&dyn Any
results for compiled functions, but haven't looked into making changes further than what was needed to get component trampolines working here.We can push this work further to remove all trampoline generation from the
wasmtime-winch
crate, however I didn't want to bulk out the diff in this PR with that additional change, as it's not necessary for running components with winch.