1310: upgrade the blake3 dependency to 0.2 r=MarkMcCaskey a=oconnor663
Version 0.2 makes assembly implementations available. They're off by default, and I haven't enabled them here, because they require the build machine to have a C toolchain installed. But if that's already a requirement for Wasmer, we could enable them with the `"c"` feature, for both better runtime performance and faster build times.
Co-authored-by: Jack O'Connor <oconnor663@gmail.com>
1300: Update `wasi-tests` to test multiple versions of WASI r=MarkMcCaskey a=MarkMcCaskey
This change also cleans up the `wasi-test` generation a bit. It's
actually still really, really messy, but at least now it's split up
into easier to understand chunks.
There's still a lot of low-hanging fruit in terms of improving the
readability and maintainability of the code.
Improves test coverage over what's on master. Things in `ignores.txt` weren't being tested on master either; we should do a follow up to remove them from there (will require finding a good solution for raw WASI calls)
# Review
- [x] Add a short description of the the change to the CHANGELOG.md file
Co-authored-by: Mark McCaskey <mark@wasmer.io>
Co-authored-by: Mark McCaskey <5770194+MarkMcCaskey@users.noreply.github.com>
This change also cleans up the `wasi-test` generation a bit. It's
actually still really, really messy, but at least now it's split up
into easier to understand chunks.
There's still a lot of low-hanging fruit in terms of improving the
readibilty and maintainability of the code.
1283: Workaround for floating point arguments and return values in `DynamicFunc`s. r=syrusakbary a=losfair
This PR makes floating point arguments and return values for `DynamicFunc`s work correctly in all three backends.
Previously Singlepass used integer registers for all arguments. This PR adds another thin trampoline layer just before control is transferred to the import function, so that arguments will be rearranged strictly according to the System V ABI.
The full fix would require singlepass to implement the SysV calling convention internally too: https://github.com/wasmerio/wasmer/pull/1271 . This is just a workaround.
Co-authored-by: Ivan Enderlin <ivan.enderlin@hoa-project.net>
Co-authored-by: losfair <zhy20000919@hotmail.com>
Co-authored-by: Heyang Zhou <zhy20000919@hotmail.com>
Co-authored-by: Syrus Akbary <me@syrusakbary.com>
1289: Enable `DynamicFunc` for closures with captured environment. r=syrusakbary a=losfair
Previously we disabled `DynamicFunc` for any non-zero-sized closures to leave space for future changes. However this feature is critical for applications that needs to bring context with host functions, like integrations with dynamic lauguages. So it might be good to enable it.
A question left is: should we put this behind a feature flag or enable it by default?
@Hywan @syrusakbary
Co-authored-by: losfair <zhy20000919@hotmail.com>