This is only advantageous when a function is called directly, and when tail calls are available.
We need to generate two wasm functions:
- one that complies to the usual conventions where the args are passed on the stack
- one that expects all args in Wasm params
The former function would do grab and restart, and call the other function.