To implement the wasm tail-calls proposal, we need to make a change to the calling convention that we use for compiled WebAssembly functions.
Specifically, we need to change to require WebAssembly functions to clean up their stack arguments.
Consider, let's say function A calls function B with zero stack arguments. If B then tail-calls C with one stack argument, A can't know that the return will require A to clean up after a stack argument it wasn't expecting. Since we can't enumerate the set of functions that may be tail-callable, all WebAssembly functions should change to clean up after their stack arguments (if any).
This change should land before work starts on tail-call codegen, and can proceed in parallel.