|
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 |
|
| #
c09aa380 |
| 03-Feb-2026 |
Joel Dice <[email protected]> |
deprecate `[Typed]Func::post_return[_async]` and make them no-ops (#12498)
* deprecate `[Typed]Func::post_return[_async]` and make them no-ops
With the advent of the Component Model concurrency ABI
deprecate `[Typed]Func::post_return[_async]` and make them no-ops (#12498)
* deprecate `[Typed]Func::post_return[_async]` and make them no-ops
With the advent of the Component Model concurrency ABI and it's `task.return` intrinsic, post-return functions have been informally deprecated and are expected to be removed for WASI 1.0 and the corresponding stable edition of the Component Model. Consequently, it does not make sense anymore to require embedders to explicitly call the post-return function after using `[Typed]Func::call[_async]`.
As of this commit, `[Typed]Func::post_return[_async]` are no-ops. Instead, the post-return function is called automatically as part of `[Typed]Func::call[_async]` if present, which is how `[Typed]Func::call_concurrent` has worked all along. In addition, this commit fixes and tests a couple of cases where the task and/or thread was being disposed of before the post-return function was called.
* address review feedback
* test post-return function in more scenarios
Specifically, I've split the `invoke_post_return` test into multiple tests:
- using `TypedFunc::call` - using `TypedFunc::call_async` with concurrency support enabled - using `TypedFunc::call_async` with concurrency support disabled - using `Func::call_async` with concurrency support disabled - using `TypedFunc::call_concurrent`
* remove GCC/clang-specific deprecation attribute
This broke the MSVC build.
* bless bindgen output
* remove obsolete post-return functions and fields
Now that post-return calls are handled internally without requiring explicit action by the embedder, we can avoid unnecessary bookkeeping.
show more ...
|
|
Revision tags: 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, v38.0.2, 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 |
|
| #
e33836c0 |
| 03-Jun-2025 |
Alex Crichton <[email protected]> |
Refactor the representation of component::Func (#10914)
* Expand on FIXME comments
In case it takes awhile to get to them...
* Remove `FuncData::types`
This can always be inferred from the insta
Refactor the representation of component::Func (#10914)
* Expand on FIXME comments
In case it takes awhile to get to them...
* Remove `FuncData::types`
This can always be inferred from the instance itself.
* Add an `ExportIndex` to `FuncData`
This will soon be used to remove most other fields, but for now just have it hanging out there.
* Remove `FuncData::component_instance` field
* Remove `FuncData::post_return`
* Remove `FuncData::ty`
* Remove `FuncData::export`
* Remove `FuncData::options`
* Remove `FuncData::post_return_arg`
This field was moved to `ComponentInstance` as the stateful storage of the last function return value.
* Refactor the representation of `component::Func`
This commit updates the implementation of `component::Func` to be index-based like all other exported items are now in Wasmtime. This necessitated a new `StoreComponentInstanceId` abstraction similar to `StoreInstanceId`. Additionally the `component_instance_replace` function was entirely removed as it's no longer necessary.
show more ...
|
| #
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 ...
|
|
Revision tags: v33.0.0 |
|
| #
ce3c1a72 |
| 28-Apr-2025 |
MangoPeachGrape <[email protected]> |
c-api: component-model: Lookup function from an instance (#10675)
* c-api: component-model: Lookup function from an instance
* c-api: component-model: Take strings as `wasm_name_t`
* Use export in
c-api: component-model: Lookup function from an instance (#10675)
* c-api: component-model: Lookup function from an instance
* c-api: component-model: Take strings as `wasm_name_t`
* Use export indices
* Shared `CHECK_ERR` macro
* Pass names as a pointer and a size, return nullable pointers
* Use `std::str::from_utf8()` instead of `str::from_utf8()`
* Remove doc link?
show more ...
|