pepyakin commented on Issue #1007:
FWIW, that issue ended up being only about interrupting code, not actual lucet-like stack switching. Therefore, I think this should be reopened.
pepyakin reopened Issue #1007:
I thought it might be useful to have some sort of a tracker for stack suspending/switching functionality in Wasmtime which is required if we want to have async WASI on top of
tokio
for instance (or any other framework for that matter).Now, I don't really have a clear idea of what still needs to be done, but feel free to add a list of potential work/features that need to land to support this.
cc @alexcrichton @pchickey @sunfishcode
Related discussions: #870
pchickey commented on Issue #1007:
For design reference - in Lucet we introduced
Vmctx::block_on
as the new user-facing primitive for stack switching in anasync
context. We haven't gotten rid of the lower level yield primitives yet, but block_on is the primitive I wish I could use in wasi-common https://github.com/bytecodealliance/lucet/pull/551
bkolobara commented on Issue #1007:
I have been working on getting Wasmtime/Wasmer to run on top of Tokio in an actorish environment. I have a few promising prototypes running on top of https://github.com/bkolobara/async-wormhole. In this case only minimal modifications to Wasmtime are needed, async-wormhole takes care of the actual stack switching.
Last updated: Dec 23 2024 at 12:05 UTC