You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Oct 3, 2025. It is now read-only.
Currently, the TinyWasm interpreter pre-allocates a fixed/hardcoded amount of memory for its stacks. While this works well in general-purpose environments, it poses challenges for constrained targets—particularly embedded systems.
Concretely, I had the problem of not being able to run tw on an nrf53 due to OOM panics, until I reduced the initial size of the interpreter stacks.
This issue proposes making the interpreter's value stack size configurable by the user. This would:
Allow embedded developers to tune memory usage based on available resources.
Enable to address scenarios where the characteristics of the Wasm modules relevant for the target are known ahead of time (e.g., if they use only 32-bit values) by optimizing the pre-allocated stacks to the expected program type.
The proposed change is backward-compatible and would not affect users who rely on the default stack size.
Note that this does not remedy the problem described in #42 : The stacks still grow dynamically and a Wasm module requiring enough memory on the interpreter side can still crash the program via an OOM panic.