alexcrichton opened PR #2444 from rm-wig to main:
This commit deletes the old
snapshot_0implementation of wasi-common,
along with thewigcrate that was used to generate bindings for it.
This then reimplementssnapshot_0in terms of
wasi_snapshot_preview1. There were very few changes between the two
snapshots:
- The
nlinkfield ofFileStatwas increased from 32 to 64 bits.- The
setfield ofwhencewas reordered.- Clock subscriptions in polling dropped their redundant userdata field.
This makes all of the syscalls relatively straightforward to simply
delegate to the next snapshot's implementation. Some trickery happens to
avoid extra cost when dealing with iovecs, but since the memory layout
of iovecs remained the same this should still work.Now that
snapshot_0is using wiggle we simply have a trait to
implement, and that's implemented for the sameWasiCtxthat has the
wasi_snapshot_preview1trait implemented for it as well. While this
theoretically means that you could share the file descriptor table
between the two snapshots that's not supported in the generated bindings
just yet. A separateWasiCtxwill be created for each WASI module.
alexcrichton updated PR #2444 from rm-wig to main:
This commit deletes the old
snapshot_0implementation of wasi-common,
along with thewigcrate that was used to generate bindings for it.
This then reimplementssnapshot_0in terms of
wasi_snapshot_preview1. There were very few changes between the two
snapshots:
- The
nlinkfield ofFileStatwas increased from 32 to 64 bits.- The
setfield ofwhencewas reordered.- Clock subscriptions in polling dropped their redundant userdata field.
This makes all of the syscalls relatively straightforward to simply
delegate to the next snapshot's implementation. Some trickery happens to
avoid extra cost when dealing with iovecs, but since the memory layout
of iovecs remained the same this should still work.Now that
snapshot_0is using wiggle we simply have a trait to
implement, and that's implemented for the sameWasiCtxthat has the
wasi_snapshot_preview1trait implemented for it as well. While this
theoretically means that you could share the file descriptor table
between the two snapshots that's not supported in the generated bindings
just yet. A separateWasiCtxwill be created for each WASI module.
alexcrichton updated PR #2444 from rm-wig to main:
This commit deletes the old
snapshot_0implementation of wasi-common,
along with thewigcrate that was used to generate bindings for it.
This then reimplementssnapshot_0in terms of
wasi_snapshot_preview1. There were very few changes between the two
snapshots:
- The
nlinkfield ofFileStatwas increased from 32 to 64 bits.- The
setfield ofwhencewas reordered.- Clock subscriptions in polling dropped their redundant userdata field.
This makes all of the syscalls relatively straightforward to simply
delegate to the next snapshot's implementation. Some trickery happens to
avoid extra cost when dealing with iovecs, but since the memory layout
of iovecs remained the same this should still work.Now that
snapshot_0is using wiggle we simply have a trait to
implement, and that's implemented for the sameWasiCtxthat has the
wasi_snapshot_preview1trait implemented for it as well. While this
theoretically means that you could share the file descriptor table
between the two snapshots that's not supported in the generated bindings
just yet. A separateWasiCtxwill be created for each WASI module.
alexcrichton updated PR #2444 from rm-wig to main:
This commit deletes the old
snapshot_0implementation of wasi-common,
along with thewigcrate that was used to generate bindings for it.
This then reimplementssnapshot_0in terms of
wasi_snapshot_preview1. There were very few changes between the two
snapshots:
- The
nlinkfield ofFileStatwas increased from 32 to 64 bits.- The
setfield ofwhencewas reordered.- Clock subscriptions in polling dropped their redundant userdata field.
This makes all of the syscalls relatively straightforward to simply
delegate to the next snapshot's implementation. Some trickery happens to
avoid extra cost when dealing with iovecs, but since the memory layout
of iovecs remained the same this should still work.Now that
snapshot_0is using wiggle we simply have a trait to
implement, and that's implemented for the sameWasiCtxthat has the
wasi_snapshot_preview1trait implemented for it as well. While this
theoretically means that you could share the file descriptor table
between the two snapshots that's not supported in the generated bindings
just yet. A separateWasiCtxwill be created for each WASI module.
alexcrichton updated PR #2444 from rm-wig to main:
This commit deletes the old
snapshot_0implementation of wasi-common,
along with thewigcrate that was used to generate bindings for it.
This then reimplementssnapshot_0in terms of
wasi_snapshot_preview1. There were very few changes between the two
snapshots:
- The
nlinkfield ofFileStatwas increased from 32 to 64 bits.- The
setfield ofwhencewas reordered.- Clock subscriptions in polling dropped their redundant userdata field.
This makes all of the syscalls relatively straightforward to simply
delegate to the next snapshot's implementation. Some trickery happens to
avoid extra cost when dealing with iovecs, but since the memory layout
of iovecs remained the same this should still work.Now that
snapshot_0is using wiggle we simply have a trait to
implement, and that's implemented for the sameWasiCtxthat has the
wasi_snapshot_preview1trait implemented for it as well. While this
theoretically means that you could share the file descriptor table
between the two snapshots that's not supported in the generated bindings
just yet. A separateWasiCtxwill be created for each WASI module.
alexcrichton updated PR #2444 from rm-wig to main:
This commit deletes the old
snapshot_0implementation of wasi-common,
along with thewigcrate that was used to generate bindings for it.
This then reimplementssnapshot_0in terms of
wasi_snapshot_preview1. There were very few changes between the two
snapshots:
- The
nlinkfield ofFileStatwas increased from 32 to 64 bits.- The
setfield ofwhencewas reordered.- Clock subscriptions in polling dropped their redundant userdata field.
This makes all of the syscalls relatively straightforward to simply
delegate to the next snapshot's implementation. Some trickery happens to
avoid extra cost when dealing with iovecs, but since the memory layout
of iovecs remained the same this should still work.Now that
snapshot_0is using wiggle we simply have a trait to
implement, and that's implemented for the sameWasiCtxthat has the
wasi_snapshot_preview1trait implemented for it as well. While this
theoretically means that you could share the file descriptor table
between the two snapshots that's not supported in the generated bindings
just yet. A separateWasiCtxwill be created for each WASI module.
pchickey submitted PR Review.
alexcrichton merged PR #2444.
Last updated: Dec 13 2025 at 19:03 UTC