Investigate browser-local WebAssembly constraints
ASPL MVP · Historical MVP scope
Archived ASPL MVP specification. Original English source only; no Arabic counterpart is available. These historical rules are not a complete ASPL 0.6.0 reference.
On this page
Investigate browser-local WebAssembly constraints
Type: research Status: resolved Parent: Find the ASPL MVP specification
Question
What constraints do current primary WebAssembly and C-to-WebAssembly toolchain documentation impose on compiling the C11 ASPL compiler and register VM for browser-local compilation and execution, especially filesystem behavior, dynamic loading, process APIs, output size, worker use, and isolation?
Answer
Compile the portable C compiler core and register VM ahead of time into one statically linked WebAssembly module, then run it in a dedicated Web Worker. Use in-memory source and bytecode APIs, stay single-threaded, and enforce instruction, memory, output, recursion, and wall-clock limits. The browser build must omit ELF execution, process APIs, and arbitrary C library loading; Emscripten dlopen handles WebAssembly side modules, not Linux shared objects. Keep the host import list fixed and small because WebAssembly isolates the module from the browser but does not stop unsafe C code from corrupting other objects inside the module's linear memory.
See Browser-local WebAssembly constraints for the ASPL MVP for the cited findings and prototype checks.