WebAssembly / design

WebAssembly Design Documents
http://webassembly.org
Apache License 2.0
11.42k stars 694 forks source link

Wasm on Bare Metal ABIs (was: Wasm Cards) #1378

Open SoniEx2 opened 4 years ago

SoniEx2 commented 4 years ago

We have Java Cards but what if we had Wasm Cards as well? unfortunately it would be a lot easier with a 16-bit format instead of the 32-bit and 64-bit formats we have.

There should be a 16-bit wasm format, as well as wasm formats for "directly on the metal" where the whole address space is exposed, there's no MMU, there are no bound checks on memory, and wasm stack is shared with LLVM stack. Additionally, memory layout must be specified at compilation time.

This would be useful for:

It'll need to handle bank switching and ROM somehow.

vshymanskyy commented 3 years ago

While working on Wasm3, we were able to run WASM on systems with 16KB RAM and 128KB Flash memory. And even on ATmega1284. Personally, I wouldn't vote for introducing any of the suggested changes, but there are some other useful ideas, already discussed in other tickets/proposals. Let me collect them and post here.

vshymanskyy commented 3 years ago

Things to read (at least):