713: Add AArch64 support for singlepass. r=syrusakbary a=losfair
This PR includes:
- Support for AArch64 (ARM64) in Singlepass backend. Implemented with a combination of x86_64 instruction translation and native code generation.
- State tracing and backtraces on AArch64/Singlepass. (Tiering is not implemented for this pair because there's no other backend supporting AArch64 yet)
- Debugging tools: `BlockTrace` middleware, and support for reading states of previous WebAssembly stack frames from middlewares.
Co-authored-by: losfair <zhy20000919@hotmail.com>
997: Compiler tests r=MarkMcCaskey a=syrusakbary
# Description
This PR simplifies the testing part, making `wasmer_runtime_core` the one responsible for picking the default backend.
This makes tests much simpler, and reliable when trying to run in different backends (this PR solves an issue when trying to run wasitests on ARM machines).
<!--
Provide details regarding the change including motivation,
links to related issues, and the context of the PR.
-->
# Review
- [x] Add a short description of the the change to the CHANGELOG.md file
Co-authored-by: Syrus <me@syrusakbary.com>
Co-authored-by: Mark McCaskey <mark@wasmer.io>
Co-authored-by: Mark McCaskey <5770194+markmccaskey@users.noreply.github.com>
995: fix(runtime-core) Remove a panic when generating globals with a corrupted module r=syrusakbary a=Hywan
Fix#979.
When we try to get a global that doesn't exist, a panic is
generated. This patch skips such panic and let a proper error be
generated.
Before this patch:
```
$ cargo run -- run panic_index_oob_all_backends.wasm
Error: ExportNotFound { name: "main" }
```
With this patch:
```sh
$ cargo run -- run panic_index_oob_all_backends.wasm
Error: Can't instantiate module: LinkError([Generic { message: "Trying to read the `0` global that isn\'t properly initialized." }])
```
Co-authored-by: Ivan Enderlin <ivan.enderlin@hoa-project.net>