-
Notifications
You must be signed in to change notification settings - Fork 298
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Implement Wasm
tail-call
proposal (#683)
* add tail call support to Config * implement return_call[_indirect] for func translator * add tail-call tests from Wasm spec testsuite * expect failure for tail call tests since not yet implemented * generalize CallOutcome to later support tail calls * make StoreIdx base on NonZeroU32 * apply rustfmt * partially implement return_call[_indirect] * revert * add DropKeep to return call bytecodes * create unique drop_keep for return calls * fix bug in drop_keep_return_call method * wasm_return_call works now * apply clippy suggestion * properly charge for drop_keep in return_call_indirect * fix return_call_indirect * enable return_call_indirect Wasm spec test case * fix performance regressions * add fib_tail_recursive to benchmarks * add TODO comment for resumable calls * add more TODO comments for resumable calls * comment out fib_tail_recursive This is just temporary so that the CI produces benchmarks again. * make use of return_call in benchmark .wat * refactor engine executor calls * apply rustfmt * add doc comments * revert changes as it slowed down Wasm targets * add tests for resumable calls + tail calls * fix resumable tail calls edge case
- Loading branch information
Showing
11 changed files
with
375 additions
and
97 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.