plasma-umass / browsix

Browsix is a Unix-like operating system for the browser.
Other
3.15k stars 181 forks source link

Status of WASM support? #64

Open ids1024 opened 5 years ago

ids1024 commented 5 years ago

What is the current status of support for executables in webassembly rather than asm.js? The most recent commit I can find related to it is ba4d26c06f3332caa1c42358cabbdae09c8c01cb. But #63 seems to suggest support for webassembly is currently in development, and this paper on arXiv talks about something called "browsix-wasm".

I don't see a branch or another repository that seems like it would correspond to that "browsix-wasm". Does this mean it exists (under development) but the code isn't (yet) publicly released for some reason?

emeryberger commented 5 years ago

It exists. It's coming. Some subset of us have an impending paper deadline. There will be some work merging it but it's in progress now!

ids1024 commented 5 years ago

Thanks for the reply, and it's great to hear that there's more progress being made! Assuming the code is going to be posted here under the MIT license anyway, is there anything preventing it from being publicly shared to a branch (I can't particularly think of a reason, but there may be)?

emeryberger commented 5 years ago

Fair question. @bpowers @abhijangda ?

abhijangda commented 5 years ago

Almost all of the Browsix-WASM changes (other than a couple of optimizations including optimizations in BrowserFS) had to be done in Emscripten. In "browsix-incoming-1.38-2" branch of https://github.com/bpowers/emscripten/ you can find code that does that. This is still in active development (with some bugs) and we will complete it soon.

RangerMauve commented 5 years ago

It'd be cool to make use of WASI combined with async-wasm to provide the APIs

cloudwalkerfre commented 4 years ago

Hi guys, is this project still active? I saw the creator of Iodide mentioned something about using browsix as a solution for Pyodide's muti-threading, it would be cool to have wasm support.

dbrock commented 4 years ago

@emeryberger You said on Twitter that this works now. Were you referring to @abhijangda's branch? Thanks!

abhijangda commented 4 years ago

Browsix has WebAssembly support merged in the master branch. You must use the default branch browsix-wasm of https://github.com/plasma-umass/browsix-emscripten as Emscripten.