-
Notifications
You must be signed in to change notification settings - Fork 292
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix a bunch of register-machine
wasmi
translation bugs (#838)
* add failing translation tests * add debug_assert * remove NonZeroUsize runtime check * improve docs * fix naming of preservation registers and space Previously we called this the "storage" space but now we renamed all occurrences to "preservation". This should improve code readability. * more renamings from storage to preserve * make some methods private if possible * cleanup push_local method * add debug_assert to bump_preserved * rename storage -> preserve * improve lifetime tracking of preserved registers The new systems starts preserved register amounts at 2 instead of 1. This prevents removal of the slot when popping it from the preservation stack. In order to properly recycle preservation registers again, we now check for all previously removed preservation registers if they are truly removed (amount = 1) and remove them before allocating a new preservation register. * add debug_assert to push_preserved * add dev docs for new semantics * add else provider regression test and fix bug * apply rustfmt * remove unneeded validation checks * add dev comment * add missing call to dec_register_usage * fix intra doc link * apply rustfmt * add another if test with missing else * simplify fuzz_6.wat test case * finalize testcases 5 and 6 * fix test cases 5 and 6
- Loading branch information
Showing
14 changed files
with
412 additions
and
59 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
Oops, something went wrong.