Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support Languages through RISC-V Emulation #16

Open
rameshvarun opened this issue Sep 4, 2023 · 0 comments
Open

Support Languages through RISC-V Emulation #16

rameshvarun opened this issue Sep 4, 2023 · 0 comments

Comments

@rameshvarun
Copy link
Owner

rameshvarun commented Sep 4, 2023

Right now, we only support languages where the compiler/interpreter itself can run in WASM. For many languages, this will never be well supported (even if it's possible to hack it together).

We can support a wider variety of languages by emulating a RISC-V, linux-based machine. This should work particularly well for C, C++, and Rust, and allow code to use I/O, threading, and more that wouldn't be possible in pure WASM.

To keep machine images small, we should create minimal linux images using buildroot/busybox.

Example: https://bellard.org/jslinux/vm.html?cpu=riscv64&url=buildroot-riscv64.cfg&mem=256

x86 emulation could also be used (example: https://supabase.com/blog/postgres-wasm), but due to the complexity of the ISA, most x86 emulators only emulate a portion of the spec.

@rameshvarun rameshvarun changed the title Support RISC-V Emulation Support Languages through RISC-V Emulation Sep 4, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant