-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[20.0.0] More backports of fixes, mostly c-api related #8368
[20.0.0] More backports of fixes, mostly c-api related #8368
Commits on Apr 15, 2024
-
c-api: Better differentiate between
wasm.h
andwasmtime.h
APIs (b……ytecodealliance#8344) This renames some types and adds some type aliases to help us better distinguish between `wasm.h` APIs and `wasmtime.h` APIs, primarily for `Store`-related types. In general, `WasmFoo` is related to `wasm.h` and `WasmtimeFoo` is related to `wasmtime.h`. * `StoreRef` -> `WasmStoreRef` * Introduce the `WasmStore[Data]` and `WasmStoreContext[Mut]` aliases * `StoreData` -> `WasmtimeStoreData` * `CStoreContext[Mut]` -> `WasmtimeStoreContext[Mut]` * Introduce the `Wasmtime{Store,Caller}` aliases
Configuration menu - View commit details
-
Copy full SHA for 5453263 - Browse repository at this point
Copy the full SHA 5453263View commit details -
wasmtime-c-api
: Improve non-support of GC references inwasm.h
AP……Is (bytecodealliance#8345) * c-api: Better differentiate between `wasm.h` and `wasmtime.h` APIs This renames some types and adds some type aliases to help us better distinguish between `wasm.h` APIs and `wasmtime.h` APIs, primarily for `Store`-related types. In general, `WasmFoo` is related to `wasm.h` and `WasmtimeFoo` is related to `wasmtime.h`. * `StoreRef` -> `WasmStoreRef` * Introduce the `WasmStore[Data]` and `WasmStoreContext[Mut]` aliases * `StoreData` -> `WasmtimeStoreData` * `CStoreContext[Mut]` -> `WasmtimeStoreContext[Mut]` * Introduce the `Wasmtime{Store,Caller}` aliases * c-api: Improve non-support of GC references in `wasm.h` APIs A couple small tweaks: error message improvements, exhaustive matching, etc...
Configuration menu - View commit details
-
Copy full SHA for ecf71ae - Browse repository at this point
Copy the full SHA ecf71aeView commit details -
Fix running wasi-common tests on CI (bytecodealliance#8353)
* Fix running wasi-common tests on CI Turns out we haven't been running wasi-common tests for some time in CI and they've started failing. Force enable the test at all times and then fix the test failures. The test failures here were introduced in bytecodealliance#8277 and weren't caught due to the test not running and the fix was to relax the implementation of `fd_pread` to avoid taking multiple mutable borrows. * Fix CI
Configuration menu - View commit details
-
Copy full SHA for 586d069 - Browse repository at this point
Copy the full SHA 586d069View commit details -
Update release notes for 20.0.0 (bytecodealliance#8358)
A busy release!
Configuration menu - View commit details
-
Copy full SHA for da2c3ca - Browse repository at this point
Copy the full SHA da2c3caView commit details -
Enable the gc feature by default in the c-api (bytecodealliance#8356)
Match the Wasmtime crate in this respect
Configuration menu - View commit details
-
Copy full SHA for 3a15107 - Browse repository at this point
Copy the full SHA 3a15107View commit details -
wasmtime-c-api: Add support for GC references in
wasmtime.h
APIs (b……ytecodealliance#8346) Restores support for `externref` in `wasmtime_val_t`, methods for manipulating them and getting their wrapped host data, and examples/tests for these things. Additionally adds support for `anyref` in `wasmtime_val_t`, clone/delete methods similar to those for `externref`, and a few `i31ref`-specific methods. Also adds C and Rust example / test for working with `anyref`.
Configuration menu - View commit details
-
Copy full SHA for 2a203af - Browse repository at this point
Copy the full SHA 2a203afView commit details -
Fix calculation of gc refs in functions (bytecodealliance#8355)
* Fix calculation of gc refs in functions In addition to excluding i31 also exclude funcrefs. * Review comments
Configuration menu - View commit details
-
Copy full SHA for 3fe090c - Browse repository at this point
Copy the full SHA 3fe090cView commit details -
Remove
wasi_config_preopen_socket
from C header (bytecodealliance#8364) This was removed in bytecodealliance#8066
Configuration menu - View commit details
-
Copy full SHA for 50f88f7 - Browse repository at this point
Copy the full SHA 50f88f7View commit details -
Tidy up some headers related to shared memory (bytecodealliance#8366)
* Tidy up some headers related to shared memory * Don't declare an anonymous `struct wasmtime_sharedmemory`, instead `#include` the actual definition. * Fix an issue where a header in `sharedmemory.h` referred to a type in `extern.h` which wasn't `#include`'d. This function, `wasmtime_sharedmemory_into_extern`, additionally isn't necessary as it's no different than manually constructing it. Fix this by removing this function. * Run clang-format
Configuration menu - View commit details
-
Copy full SHA for 09b7eb8 - Browse repository at this point
Copy the full SHA 09b7eb8View commit details -
c-api: Fix alignment of
wasmtime_val_*
(bytecodealliance#8363)* c-api: Fix alignment of `wasmtime_val_*` This commit fixes an issue where `wasmtime_val_raw_t` had an incorrect alignment. In Rust `ValRaw` contains a `u128` which has an alignment of 16 but in C the representation had a smaller alignment meaning that the alignment of the two structures was different. This was seen to cause alignment faults when structure were passed from C++ to Rust, for example. This commit changes the Rust representation of `ValRaw`'s `v128` field to do the same as C which is to use `[u8; 16]`. This avoids the need to raise the alignment in C which appears to be nontrivial. Cranelift is appropriately adjusted to understand that loads/stores from `ValRaw` are no longer aligned. Technically this only applies to the `v128` field but it's not too bad to apply it to the other fields as well. * Try alternate syntax for alignof
Configuration menu - View commit details
-
Copy full SHA for ef041e7 - Browse repository at this point
Copy the full SHA ef041e7View commit details -
Use
--locked
on allcargo install
in CI, also remove non-locked e……xample (bytecodealliance#8369) * Use `--locked` on all `cargo install` in CI Prevents any updates to rustc or crates from accidentally causing issues by ensuring that the same set of deps is used over time. * Remove rust/WASI markdown parser example The documentation referring to this example was removed in bytecodealliance#6994 and that forgot to remove this as well. This example is building without a lock file which is causing issues in bytecodealliance#8368.
Configuration menu - View commit details
-
Copy full SHA for ebbe7a7 - Browse repository at this point
Copy the full SHA ebbe7a7View commit details