nodejs / uvwasi

WASI syscall API built atop libuv
MIT License
226 stars 50 forks source link

Create uvwasi executable based on C API ? #123

Open sbc100 opened 4 years ago

sbc100 commented 4 years ago

Can we take uvwasi and hooks it up the wasm runtime with the C API?

Then we could have a common WASI runtime that would work with any wasm engine that exposes the C-API.

For example we could take uivwasi and wee8 (https://docs.google.com/document/d/1oFPHyNb_eXg6NzrE6xJDNPdJrHMZvx0LqsD6wpbd9vY/edit#heading=h.4tfb7x3beh2l) and create something like node but without any JS.

Ideally the uvwasi executable would dynamically link to libwasm.so (providing the C API) so that any wasm engine would be dropped in without even re-compiling.

cjihrig commented 4 years ago

That sounds like a great idea in theory. I only say in theory because I'm not very familiar with the specifics of the c-api and there don't seem to be many docs, so it's hard for me to gauge what work would be involved.

If you or anyone else wants to take this on, or can help point me in the right direction, I'd be in favor of seeing uvwasi support it.

sbc100 commented 4 years ago

I'm looking into moving this direction once the wabt API hookup is done. If it works I can try to upstream it here.

cjihrig commented 4 years ago

That would be great. Thank you!