|
Revision tags: dev, v36.0.9, v44.0.1, v43.0.2, v36.0.8, v24.0.8, v44.0.0, v43.0.1, v42.0.2, v36.0.7, v24.0.7, v43.0.0, v42.0.1, v41.0.4, v42.0.0, v40.0.4, v36.0.6, v24.0.6, v41.0.3, v41.0.2, v41.0.1, v36.0.5, v40.0.3, v41.0.0, v36.0.4, v39.0.2, v40.0.2, v40.0.1, v40.0.0, v39.0.1, v39.0.0, v38.0.4, v37.0.3, v36.0.3, v24.0.5 |
|
| #
39ec36ca |
| 05-Nov-2025 |
Alex Crichton <[email protected]> |
Fill out type information for components in C API (#11937)
* Fill out type information for components in C API
I've concluded that I'll want this for wasmtime-py so this fills out type reflection
Fill out type information for components in C API (#11937)
* Fill out type information for components in C API
I've concluded that I'll want this for wasmtime-py so this fills out type reflection for various items in the C API. This then additionally extends the C++ API as well.
prtest:full
* Update crates/c-api/include/wasmtime/component/types/func.h
Co-authored-by: Joel Dice <[email protected]>
---------
Co-authored-by: Joel Dice <[email protected]>
show more ...
|
|
Revision tags: v38.0.3 |
|
| #
dbc21cde |
| 22-Oct-2025 |
Alex Crichton <[email protected]> |
Support resources in the C API of Wasmtime (#11920)
This commit builds on #11885 to build out support for resources in components in the C API of Wasmtime. Support is effectively the same as in Rust
Support resources in the C API of Wasmtime (#11920)
This commit builds on #11885 to build out support for resources in components in the C API of Wasmtime. Support is effectively the same as in Rust except more things are behind pointers and `ResourceDynamic` is used under the hood instead of `Resource<T>` due to the lack of monomorphization. Tests have been updated to go through some various situations of ensuring that guest and host resources are representable and can be manipulated.
show more ...
|
|
Revision tags: v38.0.2 |
|
| #
cde2e04f |
| 21-Oct-2025 |
Alex Crichton <[email protected]> |
Fill out more of the C++ API for components (#11889)
* capi: Add a C++ API for `component::Linker`
Just a bare-bones API for now with functionality that's possible to fill out. Notably instantiatio
Fill out more of the C++ API for components (#11889)
* capi: Add a C++ API for `component::Linker`
Just a bare-bones API for now with functionality that's possible to fill out. Notably instantiation and defining functions is not yet possible in C++. Some more feature-parity is also added with the core linkers as well.
* capi: Add bindings for component instances
* capi: Delete wasip2.h header file
Upon reflection I realize that this is not actually necessary and is otherwise a duplicate of the functionality in `wasi.h`. All of the functionality in `wasi.h` is already supported to power WASIp2-defined APIs in a linker, which is enabled by the `WasiView` trait redirecting to the `WasiView for WasiP1Ctx` implementation. This is similar to how the `wasmtime` CLI works where a P1 context is always created and then it's conditionally used for either core wasm or components.
Effectively this is a deletion of duplicate functionality in the C API but no underlying functionality is lost. Translating information to preexisting WASI calls will work the same as using the wasip2 APIs before.
* capi: Start bindings for component functions
* capi: Bind component values in the C++ API
* capi: Finish bindings for component functions/linkers
All the pieces are now in place to use the C++ API in testing.
* Fix compilation of CLI
* Fix compile on MSVC
* Try again to fix msvc compat
* Fix `get_f32` and `get_f64` return values
* Fix signed return values
* Remove no-longer-needed `capi_transfer` function
* Try to fix msvc again
* Remove std::optional constructor of `Val`
* Fix another namespace clash on msvc
* One day I surely may understand a fraction of either C++ or MSVC, but today is not that day.
* Document internal macro
* Add other internal docs
show more ...
|
| #
579ec46b |
| 20-Oct-2025 |
Alex Crichton <[email protected]> |
capi: Start filling out C++ API for components (#11880)
* capi: Start filling out C++ API for components
I'd like to write some fancier tests soon for this, but I'm not a fan of writing C, so this
capi: Start filling out C++ API for components (#11880)
* capi: Start filling out C++ API for components
I'd like to write some fancier tests soon for this, but I'm not a fan of writing C, so this commit starts to fill out the C++ API for components by adding a few wrapper classes. Like the rest of the C++ API this is all built as a wrapper around the C API.
This commit introduces a `Component` type and an `ExportIndex` type to go along with it. This binds the `component.h` header file in C++. This also starts a convention of `capi` methods to access the underlying pointer/value as a conventional way to mix the C/C++ APIs which will allow gradually migrating tests to C++.
* Fix clippy lint
show more ...
|
|
Revision tags: v38.0.1, v37.0.2, v37.0.1, v37.0.0, v36.0.2, v36.0.1, v36.0.0, v35.0.0, v24.0.4, v33.0.2, v34.0.2, v34.0.1, v33.0.1, v24.0.3, v32.0.1, v34.0.0 |
|
| #
9a26c101 |
| 30-May-2025 |
MangoPeachGrape <[email protected]> |
c-api: component-model: Flags type (#10873)
* c-api: component-model: Flags type
* Hand make `wasm_name_t::default()` implementation
|
| #
90a2351b |
| 30-May-2025 |
MangoPeachGrape <[email protected]> |
c-api: component-model: Result types (#10864)
|
| #
fa89f323 |
| 29-May-2025 |
MangoPeachGrape <[email protected]> |
c-api: component-model: Enum and option values (#10858)
* c-api: component-model: Enum values
* c-api: component-model: Option values
|
| #
53701b21 |
| 27-May-2025 |
MangoPeachGrape <[email protected]> |
c-api: component-model: Function post return, more values (#10841)
* c-api: component-model: `wasmtime_component_post_return()`
* c-api: component-model: Tuple values
* c-api: component-model: Var
c-api: component-model: Function post return, more values (#10841)
* c-api: component-model: `wasmtime_component_post_return()`
* c-api: component-model: Tuple values
* c-api: component-model: Variant values
This required `wasmtime_component_val_new()`
show more ...
|
| #
b2c64de1 |
| 23-May-2025 |
MangoPeachGrape <[email protected]> |
c-api: component-model: Values and function calling (#10697)
* c-api: component-model: Primitive values
* c-api: component-model: Function calling
* A test
* Take args as mut to avoid copying
*
c-api: component-model: Values and function calling (#10697)
* c-api: component-model: Primitive values
* c-api: component-model: Function calling
* A test
* Take args as mut to avoid copying
* String and char
* Rethink value ownership semantics, add list values
* Record values
* Make take Rust values as refs in `::from()` functions
Later we can provide implementations that take it as a value to avoid copying
* Define host functions
* `wasmtime_component_valrecord_new()`
* Use `u32` instead of `char` as its not ffi safe
* Test records and strings in c-api -> vm -> host func -> vm -> c-api
* `wasmtime_component_vallist_new()`
* Test lists
* Fix formatting
* Use existing `declare_vecs` construct
* Add rest of helper functions
* Add documentation
* Fix multiline comments
* Third time's the charm
* Fourth time's the charm prtest:full
* Doxygen file headers
* Fix other missing documentation
* Small fix to docs
show more ...
|