WebAssembly 虚拟机采用栈式架构,指令通过操作数栈完成计算。函数参数和局部值被压入栈中,算术、比较、逻辑等指令从栈顶取出操作数、计算后再将结果压回栈顶,整个过程遵循后进先出的顺序。
WebAssembly 的控制流是结构化的,通过块(block)、循环(loop)、条件分支(if)和调用(call)等指令组织执行路径。这种结构化特性使得运行时能够静态分析程序的控制流边界,为跳转优化和栈管理提供便利。
模块之间及模块内部通过函数调用交互,参数和返回值基于一系列基础值类型传递,包括 32 位整数(i32)、64 位整数(i64)、32 位浮点(f32)、64 位浮点(f64),以及 3.0 版本中扩展的引用类型等。明确的类型系统保证了调用过程中的类型安全。