Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
4 changes: 2 additions & 2 deletions crates/wasmparser/src/validator/component.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1437,7 +1437,7 @@ impl ComponentState {
};

self.core_funcs
.push(types.intern_func_type(FuncType::new([ValType::I32], []), offset));
.push(types.intern_func_type(FuncType::new([ValType::I32; 2], []), offset));
Ok(())
}

Expand Down Expand Up @@ -1621,7 +1621,7 @@ impl ComponentState {
};

self.core_funcs
.push(types.intern_func_type(FuncType::new([ValType::I32], []), offset));
.push(types.intern_func_type(FuncType::new([ValType::I32; 2], []), offset));
Ok(())
}

Expand Down
4 changes: 2 additions & 2 deletions crates/wit-component/src/validation.rs
Original file line number Diff line number Diff line change
Expand Up @@ -888,7 +888,7 @@ impl ImportMap {
if async_ {
bail!("async `future.close-readable` calls not supported");
}
validate_func_sig(name, &FuncType::new([ValType::I32], []), ty)?;
validate_func_sig(name, &FuncType::new([ValType::I32; 2], []), ty)?;
Import::FutureCloseReadable(info)
} else if let Some(info) = prefixed_payload("[stream-new-") {
if async_ {
Expand Down Expand Up @@ -918,7 +918,7 @@ impl ImportMap {
if async_ {
bail!("async `stream.close-readable` calls not supported");
}
validate_func_sig(name, &FuncType::new([ValType::I32], []), ty)?;
validate_func_sig(name, &FuncType::new([ValType::I32; 2], []), ty)?;
Import::StreamCloseReadable(info)
} else {
return Ok(None);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,8 @@
(type (;1;) (func (result i32)))
(type (;2;) (func (param i32 i32 i32) (result i32)))
(type (;3;) (func (param i32) (result i32)))
(type (;4;) (func (param i32)))
(type (;5;) (func (param i32 i32)))
(type (;6;) (func (param i32 i32 i32 i32) (result i32)))
(type (;4;) (func (param i32 i32)))
(type (;5;) (func (param i32 i32 i32 i32) (result i32)))
(import "$root" "[async]foo" (func (;0;) (type 0)))
(import "foo:foo/bar" "[async]foo" (func (;1;) (type 0)))
(import "$root" "[stream-new-2]foo" (func (;2;) (type 1)))
Expand All @@ -30,96 +29,96 @@
(import "$root" "[stream-cancel-read-2]foo" (func (;5;) (type 3)))
(import "$root" "[stream-cancel-write-2]foo" (func (;6;) (type 3)))
(import "$root" "[stream-close-readable-2]foo" (func (;7;) (type 4)))
(import "$root" "[stream-close-writable-2]foo" (func (;8;) (type 5)))
(import "$root" "[stream-close-writable-2]foo" (func (;8;) (type 4)))
(import "foo:foo/bar" "[stream-new-2]foo" (func (;9;) (type 1)))
(import "foo:foo/bar" "[stream-read-2]foo" (func (;10;) (type 2)))
(import "foo:foo/bar" "[stream-write-2]foo" (func (;11;) (type 2)))
(import "foo:foo/bar" "[stream-cancel-read-2]foo" (func (;12;) (type 3)))
(import "foo:foo/bar" "[stream-cancel-write-2]foo" (func (;13;) (type 3)))
(import "foo:foo/bar" "[stream-close-readable-2]foo" (func (;14;) (type 4)))
(import "foo:foo/bar" "[stream-close-writable-2]foo" (func (;15;) (type 5)))
(import "foo:foo/bar" "[stream-close-writable-2]foo" (func (;15;) (type 4)))
(import "$root" "[future-new-0]foo" (func (;16;) (type 1)))
(import "$root" "[future-read-0]foo" (func (;17;) (type 0)))
(import "$root" "[future-write-0]foo" (func (;18;) (type 0)))
(import "$root" "[future-cancel-read-0]foo" (func (;19;) (type 3)))
(import "$root" "[future-cancel-write-0]foo" (func (;20;) (type 3)))
(import "$root" "[future-close-readable-0]foo" (func (;21;) (type 4)))
(import "$root" "[future-close-writable-0]foo" (func (;22;) (type 5)))
(import "$root" "[future-close-writable-0]foo" (func (;22;) (type 4)))
(import "foo:foo/bar" "[future-new-0]foo" (func (;23;) (type 1)))
(import "foo:foo/bar" "[future-read-0]foo" (func (;24;) (type 0)))
(import "foo:foo/bar" "[future-write-0]foo" (func (;25;) (type 0)))
(import "foo:foo/bar" "[future-cancel-read-0]foo" (func (;26;) (type 3)))
(import "foo:foo/bar" "[future-cancel-write-0]foo" (func (;27;) (type 3)))
(import "foo:foo/bar" "[future-close-readable-0]foo" (func (;28;) (type 4)))
(import "foo:foo/bar" "[future-close-writable-0]foo" (func (;29;) (type 5)))
(import "foo:foo/bar" "[future-close-writable-0]foo" (func (;29;) (type 4)))
(import "$root" "[future-new-1]foo" (func (;30;) (type 1)))
(import "$root" "[future-read-1]foo" (func (;31;) (type 0)))
(import "$root" "[future-write-1]foo" (func (;32;) (type 0)))
(import "$root" "[future-cancel-read-1]foo" (func (;33;) (type 3)))
(import "$root" "[future-cancel-write-1]foo" (func (;34;) (type 3)))
(import "$root" "[future-close-readable-1]foo" (func (;35;) (type 4)))
(import "$root" "[future-close-writable-1]foo" (func (;36;) (type 5)))
(import "$root" "[future-close-writable-1]foo" (func (;36;) (type 4)))
(import "foo:foo/bar" "[future-new-1]foo" (func (;37;) (type 1)))
(import "foo:foo/bar" "[future-read-1]foo" (func (;38;) (type 0)))
(import "foo:foo/bar" "[future-write-1]foo" (func (;39;) (type 0)))
(import "foo:foo/bar" "[future-cancel-read-1]foo" (func (;40;) (type 3)))
(import "foo:foo/bar" "[future-cancel-write-1]foo" (func (;41;) (type 3)))
(import "foo:foo/bar" "[future-close-readable-1]foo" (func (;42;) (type 4)))
(import "foo:foo/bar" "[future-close-writable-1]foo" (func (;43;) (type 5)))
(import "foo:foo/bar" "[future-close-writable-1]foo" (func (;43;) (type 4)))
(import "[export]$root" "[stream-new-2]foo" (func (;44;) (type 1)))
(import "[export]$root" "[stream-read-2]foo" (func (;45;) (type 2)))
(import "[export]$root" "[stream-write-2]foo" (func (;46;) (type 2)))
(import "[export]$root" "[stream-cancel-read-2]foo" (func (;47;) (type 3)))
(import "[export]$root" "[stream-cancel-write-2]foo" (func (;48;) (type 3)))
(import "[export]$root" "[stream-close-readable-2]foo" (func (;49;) (type 4)))
(import "[export]$root" "[stream-close-writable-2]foo" (func (;50;) (type 5)))
(import "[export]$root" "[stream-close-writable-2]foo" (func (;50;) (type 4)))
(import "[export]foo:foo/bar" "[stream-new-2]foo" (func (;51;) (type 1)))
(import "[export]foo:foo/bar" "[stream-read-2]foo" (func (;52;) (type 2)))
(import "[export]foo:foo/bar" "[stream-write-2]foo" (func (;53;) (type 2)))
(import "[export]foo:foo/bar" "[stream-cancel-read-2]foo" (func (;54;) (type 3)))
(import "[export]foo:foo/bar" "[stream-cancel-write-2]foo" (func (;55;) (type 3)))
(import "[export]foo:foo/bar" "[stream-close-readable-2]foo" (func (;56;) (type 4)))
(import "[export]foo:foo/bar" "[stream-close-writable-2]foo" (func (;57;) (type 5)))
(import "[export]foo:foo/bar" "[stream-close-writable-2]foo" (func (;57;) (type 4)))
(import "[export]$root" "[future-new-0]foo" (func (;58;) (type 1)))
(import "[export]$root" "[future-read-0]foo" (func (;59;) (type 0)))
(import "[export]$root" "[future-write-0]foo" (func (;60;) (type 0)))
(import "[export]$root" "[future-cancel-read-0]foo" (func (;61;) (type 3)))
(import "[export]$root" "[future-cancel-write-0]foo" (func (;62;) (type 3)))
(import "[export]$root" "[future-close-readable-0]foo" (func (;63;) (type 4)))
(import "[export]$root" "[future-close-writable-0]foo" (func (;64;) (type 5)))
(import "[export]$root" "[future-close-writable-0]foo" (func (;64;) (type 4)))
(import "[export]foo:foo/bar" "[future-new-0]foo" (func (;65;) (type 1)))
(import "[export]foo:foo/bar" "[future-read-0]foo" (func (;66;) (type 0)))
(import "[export]foo:foo/bar" "[future-write-0]foo" (func (;67;) (type 0)))
(import "[export]foo:foo/bar" "[future-cancel-read-0]foo" (func (;68;) (type 3)))
(import "[export]foo:foo/bar" "[future-cancel-write-0]foo" (func (;69;) (type 3)))
(import "[export]foo:foo/bar" "[future-close-readable-0]foo" (func (;70;) (type 4)))
(import "[export]foo:foo/bar" "[future-close-writable-0]foo" (func (;71;) (type 5)))
(import "[export]foo:foo/bar" "[future-close-writable-0]foo" (func (;71;) (type 4)))
(import "[export]$root" "[future-new-1]foo" (func (;72;) (type 1)))
(import "[export]$root" "[future-read-1]foo" (func (;73;) (type 0)))
(import "[export]$root" "[future-write-1]foo" (func (;74;) (type 0)))
(import "[export]$root" "[future-cancel-read-1]foo" (func (;75;) (type 3)))
(import "[export]$root" "[future-cancel-write-1]foo" (func (;76;) (type 3)))
(import "[export]$root" "[future-close-readable-1]foo" (func (;77;) (type 4)))
(import "[export]$root" "[future-close-writable-1]foo" (func (;78;) (type 5)))
(import "[export]$root" "[future-close-writable-1]foo" (func (;78;) (type 4)))
(import "[export]foo:foo/bar" "[future-new-1]foo" (func (;79;) (type 1)))
(import "[export]foo:foo/bar" "[future-read-1]foo" (func (;80;) (type 0)))
(import "[export]foo:foo/bar" "[future-write-1]foo" (func (;81;) (type 0)))
(import "[export]foo:foo/bar" "[future-cancel-read-1]foo" (func (;82;) (type 3)))
(import "[export]foo:foo/bar" "[future-cancel-write-1]foo" (func (;83;) (type 3)))
(import "[export]foo:foo/bar" "[future-close-readable-1]foo" (func (;84;) (type 4)))
(import "[export]foo:foo/bar" "[future-close-writable-1]foo" (func (;85;) (type 5)))
(import "[export]foo:foo/bar" "[future-close-writable-1]foo" (func (;85;) (type 4)))
(memory (;0;) 1)
(export "[async-stackful]foo" (func 86))
(export "[async-stackful]foo:foo/bar#foo" (func 87))
(export "memory" (memory 0))
(export "cabi_realloc" (func 88))
(func (;86;) (type 5) (param i32 i32)
(func (;86;) (type 4) (param i32 i32)
unreachable
)
(func (;87;) (type 5) (param i32 i32)
(func (;87;) (type 4) (param i32 i32)
unreachable
)
(func (;88;) (type 6) (param i32 i32 i32 i32) (result i32)
(func (;88;) (type 5) (param i32 i32 i32 i32) (result i32)
unreachable
)
(@producers
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,84 +6,84 @@
(func (import "$root" "[stream-write-2]foo") (param i32 i32 i32) (result i32))
(func (import "$root" "[stream-cancel-read-2]foo") (param i32) (result i32))
(func (import "$root" "[stream-cancel-write-2]foo") (param i32) (result i32))
(func (import "$root" "[stream-close-readable-2]foo") (param i32))
(func (import "$root" "[stream-close-readable-2]foo") (param i32 i32))
(func (import "$root" "[stream-close-writable-2]foo") (param i32 i32))
(func (import "foo:foo/bar" "[stream-new-2]foo") (result i32))
(func (import "foo:foo/bar" "[stream-read-2]foo") (param i32 i32 i32) (result i32))
(func (import "foo:foo/bar" "[stream-write-2]foo") (param i32 i32 i32) (result i32))
(func (import "foo:foo/bar" "[stream-cancel-read-2]foo") (param i32) (result i32))
(func (import "foo:foo/bar" "[stream-cancel-write-2]foo") (param i32) (result i32))
(func (import "foo:foo/bar" "[stream-close-readable-2]foo") (param i32))
(func (import "foo:foo/bar" "[stream-close-readable-2]foo") (param i32 i32))
(func (import "foo:foo/bar" "[stream-close-writable-2]foo") (param i32 i32))
(func (import "$root" "[future-new-0]foo") (result i32))
(func (import "$root" "[future-read-0]foo") (param i32 i32) (result i32))
(func (import "$root" "[future-write-0]foo") (param i32 i32) (result i32))
(func (import "$root" "[future-cancel-read-0]foo") (param i32) (result i32))
(func (import "$root" "[future-cancel-write-0]foo") (param i32) (result i32))
(func (import "$root" "[future-close-readable-0]foo") (param i32))
(func (import "$root" "[future-close-readable-0]foo") (param i32 i32))
(func (import "$root" "[future-close-writable-0]foo") (param i32 i32))
(func (import "foo:foo/bar" "[future-new-0]foo") (result i32))
(func (import "foo:foo/bar" "[future-read-0]foo") (param i32 i32) (result i32))
(func (import "foo:foo/bar" "[future-write-0]foo") (param i32 i32) (result i32))
(func (import "foo:foo/bar" "[future-cancel-read-0]foo") (param i32) (result i32))
(func (import "foo:foo/bar" "[future-cancel-write-0]foo") (param i32) (result i32))
(func (import "foo:foo/bar" "[future-close-readable-0]foo") (param i32))
(func (import "foo:foo/bar" "[future-close-readable-0]foo") (param i32 i32))
(func (import "foo:foo/bar" "[future-close-writable-0]foo") (param i32 i32))
(func (import "$root" "[future-new-1]foo") (result i32))
(func (import "$root" "[future-read-1]foo") (param i32 i32) (result i32))
(func (import "$root" "[future-write-1]foo") (param i32 i32) (result i32))
(func (import "$root" "[future-cancel-read-1]foo") (param i32) (result i32))
(func (import "$root" "[future-cancel-write-1]foo") (param i32) (result i32))
(func (import "$root" "[future-close-readable-1]foo") (param i32))
(func (import "$root" "[future-close-readable-1]foo") (param i32 i32))
(func (import "$root" "[future-close-writable-1]foo") (param i32 i32))
(func (import "foo:foo/bar" "[future-new-1]foo") (result i32))
(func (import "foo:foo/bar" "[future-read-1]foo") (param i32 i32) (result i32))
(func (import "foo:foo/bar" "[future-write-1]foo") (param i32 i32) (result i32))
(func (import "foo:foo/bar" "[future-cancel-read-1]foo") (param i32) (result i32))
(func (import "foo:foo/bar" "[future-cancel-write-1]foo") (param i32) (result i32))
(func (import "foo:foo/bar" "[future-close-readable-1]foo") (param i32))
(func (import "foo:foo/bar" "[future-close-readable-1]foo") (param i32 i32))
(func (import "foo:foo/bar" "[future-close-writable-1]foo") (param i32 i32))
(func (import "[export]$root" "[stream-new-2]foo") (result i32))
(func (import "[export]$root" "[stream-read-2]foo") (param i32 i32 i32) (result i32))
(func (import "[export]$root" "[stream-write-2]foo") (param i32 i32 i32) (result i32))
(func (import "[export]$root" "[stream-cancel-read-2]foo") (param i32) (result i32))
(func (import "[export]$root" "[stream-cancel-write-2]foo") (param i32) (result i32))
(func (import "[export]$root" "[stream-close-readable-2]foo") (param i32))
(func (import "[export]$root" "[stream-close-readable-2]foo") (param i32 i32))
(func (import "[export]$root" "[stream-close-writable-2]foo") (param i32 i32))
(func (import "[export]foo:foo/bar" "[stream-new-2]foo") (result i32))
(func (import "[export]foo:foo/bar" "[stream-read-2]foo") (param i32 i32 i32) (result i32))
(func (import "[export]foo:foo/bar" "[stream-write-2]foo") (param i32 i32 i32) (result i32))
(func (import "[export]foo:foo/bar" "[stream-cancel-read-2]foo") (param i32) (result i32))
(func (import "[export]foo:foo/bar" "[stream-cancel-write-2]foo") (param i32) (result i32))
(func (import "[export]foo:foo/bar" "[stream-close-readable-2]foo") (param i32))
(func (import "[export]foo:foo/bar" "[stream-close-readable-2]foo") (param i32 i32))
(func (import "[export]foo:foo/bar" "[stream-close-writable-2]foo") (param i32 i32))
(func (import "[export]$root" "[future-new-0]foo") (result i32))
(func (import "[export]$root" "[future-read-0]foo") (param i32 i32) (result i32))
(func (import "[export]$root" "[future-write-0]foo") (param i32 i32) (result i32))
(func (import "[export]$root" "[future-cancel-read-0]foo") (param i32) (result i32))
(func (import "[export]$root" "[future-cancel-write-0]foo") (param i32) (result i32))
(func (import "[export]$root" "[future-close-readable-0]foo") (param i32))
(func (import "[export]$root" "[future-close-readable-0]foo") (param i32 i32))
(func (import "[export]$root" "[future-close-writable-0]foo") (param i32 i32))
(func (import "[export]foo:foo/bar" "[future-new-0]foo") (result i32))
(func (import "[export]foo:foo/bar" "[future-read-0]foo") (param i32 i32) (result i32))
(func (import "[export]foo:foo/bar" "[future-write-0]foo") (param i32 i32) (result i32))
(func (import "[export]foo:foo/bar" "[future-cancel-read-0]foo") (param i32) (result i32))
(func (import "[export]foo:foo/bar" "[future-cancel-write-0]foo") (param i32) (result i32))
(func (import "[export]foo:foo/bar" "[future-close-readable-0]foo") (param i32))
(func (import "[export]foo:foo/bar" "[future-close-readable-0]foo") (param i32 i32))
(func (import "[export]foo:foo/bar" "[future-close-writable-0]foo") (param i32 i32))
(func (import "[export]$root" "[future-new-1]foo") (result i32))
(func (import "[export]$root" "[future-read-1]foo") (param i32 i32) (result i32))
(func (import "[export]$root" "[future-write-1]foo") (param i32 i32) (result i32))
(func (import "[export]$root" "[future-cancel-read-1]foo") (param i32) (result i32))
(func (import "[export]$root" "[future-cancel-write-1]foo") (param i32) (result i32))
(func (import "[export]$root" "[future-close-readable-1]foo") (param i32))
(func (import "[export]$root" "[future-close-readable-1]foo") (param i32 i32))
(func (import "[export]$root" "[future-close-writable-1]foo") (param i32 i32))
(func (import "[export]foo:foo/bar" "[future-new-1]foo") (result i32))
(func (import "[export]foo:foo/bar" "[future-read-1]foo") (param i32 i32) (result i32))
(func (import "[export]foo:foo/bar" "[future-write-1]foo") (param i32 i32) (result i32))
(func (import "[export]foo:foo/bar" "[future-cancel-read-1]foo") (param i32) (result i32))
(func (import "[export]foo:foo/bar" "[future-cancel-write-1]foo") (param i32) (result i32))
(func (import "[export]foo:foo/bar" "[future-close-readable-1]foo") (param i32))
(func (import "[export]foo:foo/bar" "[future-close-readable-1]foo") (param i32 i32))
(func (import "[export]foo:foo/bar" "[future-close-writable-1]foo") (param i32 i32))
(func (export "[async-stackful]foo") (param i32 i32) unreachable)
(func (export "[async-stackful]foo:foo/bar#foo") (param i32 i32) unreachable)
Expand Down
4 changes: 2 additions & 2 deletions tests/local/component-model-async/futures.wast
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,7 @@
;; future.close-readable
(component
(core module $m
(import "" "future.close-readable" (func $future-close-readable (param i32)))
(import "" "future.close-readable" (func $future-close-readable (param i32 i32)))
)
(type $future-type (future u8))
(core func $future-close-readable (canon future.close-readable $future-type))
Expand All @@ -180,7 +180,7 @@
(assert_invalid
(component
(core module $m
(import "" "future.close-readable" (func $future-close-readable (param i32 i32) (result i32)))
(import "" "future.close-readable" (func $future-close-readable (param i32) (result i32)))
)
(type $future-type (future u8))
(core func $future-close-readable (canon future.close-readable $future-type))
Expand Down
4 changes: 2 additions & 2 deletions tests/local/component-model-async/streams.wast
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,7 @@
;; stream.close-readable
(component
(core module $m
(import "" "stream.close-readable" (func $stream-close-readable (param i32)))
(import "" "stream.close-readable" (func $stream-close-readable (param i32 i32)))
)
(type $stream-type (stream u8))
(core func $stream-close-readable (canon stream.close-readable $stream-type))
Expand All @@ -180,7 +180,7 @@
(assert_invalid
(component
(core module $m
(import "" "stream.close-readable" (func $stream-close-readable (param i32 i32) (result i32)))
(import "" "stream.close-readable" (func $stream-close-readable (param i32) (result i32)))
)
(type $stream-type (stream u8))
(core func $stream-close-readable (canon stream.close-readable $stream-type))
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
(component
(core module $m (;0;)
(type (;0;) (func (param i32)))
(type (;0;) (func (param i32 i32)))
(import "" "future.close-readable" (func $future-close-readable (;0;) (type 0)))
)
(type $future-type (;0;) (future u8))
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
(component
(core module $m (;0;)
(type (;0;) (func (param i32)))
(type (;0;) (func (param i32 i32)))
(import "" "stream.close-readable" (func $stream-close-readable (;0;) (type 0)))
)
(type $stream-type (;0;) (stream u8))
Expand Down