Re:WebAssembly Micro Runtime
by sound_and_form on Friday May 10, 2019 @06:20PM
(#19882813)
I'm working on a Wasm interpreter. Yes, Wasm ideally needs a smaller page size for embedded applications. But, the 64kB page size is more of an interoperability specification. If you own the environment and you're already doing bounds checking on memory accesses, you can treat the memory size as virtual and dynamically allocate only what is used.
> But, the 64kB page size is more of an interoperability specification.
Could you tell me a bit more on it? Does the particular number 64kB have something to do with?
Why is it a problem to not have the wasm heap with less than 64KB of memory? At that level you could deal with all your memory explicitly, by creating fixed size arrays.
We could and it is always better to have fixed sized arrays, but having no choices is totally different situation than doing something preferable. It will make your life much harder in some operations such as string manipulation.
Having minimum 64KB of WASM memory is still a huge cost for mainstream microcontrollers. Most of dynamic memory stuff in embedded system requires at most ~10KB (and often less than 1KB) of memory. We are just throwing away the rest of the precious memory.
Unless this problem is resolved I don't think WASM can be adopt widely in the world of microcontrollers.