Skip to content

implement Component Model async ABI #11127

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

Merged
merged 26 commits into from
Jul 11, 2025
Merged
Show file tree
Hide file tree
Changes from 22 commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
e5d5e88
implement Component Model async ABI
dicej Jun 24, 2025
ddb77c0
clear params pointer in `call_async` when future is dropped
dicej Jul 3, 2025
74df3f3
Remove unsafety from accessing concurrent async state
alexcrichton Jul 7, 2025
a3480f4
Remove a dead variant when async is disabled
alexcrichton Jul 7, 2025
e6c660b
Add tests for `tls.rs` unsafe code
alexcrichton Jul 7, 2025
33f6c73
Refactor `AbortHandle`
alexcrichton Jul 7, 2025
c135259
Internalize some functions/types
alexcrichton Jul 7, 2025
4d6a63c
add FIXME comment to `states.rs`
dicej Jul 7, 2025
82647cf
reference issue 11190 in `table.rs` TODO
dicej Jul 7, 2025
496035b
switch `use` directives to conventional syntax
dicej Jul 7, 2025
f9c4f63
remove redundant accessor methods
dicej Jul 7, 2025
6da1914
reference issue 11191 in `yield` TODO comments
dicej Jul 7, 2025
25edf02
replace `dummy_waker` with `Waker::noop`
dicej Jul 7, 2025
c2fe750
remove obsolete `AsyncState::spawned_tasks` field
dicej Jul 7, 2025
1bc010d
only call post-return automatically for `call_concurrent`
dicej Jul 7, 2025
87bd321
Merge remote-tracking branch 'origin/main' into cm-async-implementation
alexcrichton Jul 8, 2025
757df9e
Favor function arguments before closures
alexcrichton Jul 8, 2025
2e60e92
Simplify `watch` a bit
alexcrichton Jul 8, 2025
b0739d0
fix task handle leaks and add test coverage
dicej Jul 8, 2025
7eeee3a
Encapsulate type erasure in stream buffers
alexcrichton Jul 8, 2025
6c4f74f
Remove some methods ending in underscores
alexcrichton Jul 8, 2025
b5864e5
Refactor unsafety in `buffers.rs`
alexcrichton Jul 8, 2025
27b4158
remove task on drop in `TypedFunc::call_async`
dicej Jul 9, 2025
30272e3
remove obsolete clause from `FutureReader::read` docs
dicej Jul 9, 2025
cde24cb
unhide and expand docs for `WriteBuffer` and `ReadBuffer`
dicej Jul 9, 2025
471d3c9
add optional `component-model-async-bytes` feature
dicej Jul 9, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 4 additions & 0 deletions crates/wasmtime/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ smallvec = { workspace = true, optional = true }
hashbrown = { workspace = true, features = ["default-hasher"] }
bitflags = { workspace = true }
futures = { workspace = true, features = ["alloc"], optional = true }
bytes = { workspace = true, optional = true }

[target.'cfg(target_os = "windows")'.dependencies.windows-sys]
workspace = true
Expand Down Expand Up @@ -391,4 +392,7 @@ component-model-async = [
"component-model",
"std",
"wasmtime-component-macro?/component-model-async",
"dep:futures",
"futures/std",
"dep:bytes",
]
Loading