-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
winch: Gracefully handle compilation errors (#9851)
* winch: Gracefully handle compilation errors Closes: #8096 This commit threads `anyhow::Result` through most of Winch's compilation process in order to gracefully handle compilation errors gracefully instead of panicking. The error classification is intentionally very granular, to avoid string allocation which could impact compilation performance. The errors are largely fit in two categories: * Unimplemented/Unsupported * Internal The firs category signals partial or no support for Wasmtime features and or Wasm proposals. These errors are meant to be temporary while such features or proposals are in development. The second category signals that a compilation invariant was not met. These errors are considered internal and their presence usually means a bug in the compiler. * Include `Result` in the MacroAssembler This commit updates the MacroAssembler trait to require returning `Result<T>` on every method in the interface, making it easier to detect partial support for Masm instructions.
- Loading branch information
1 parent
5ca3715
commit b93e1bc
Showing
17 changed files
with
2,556 additions
and
1,783 deletions.
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
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.