WebAssembly规范在这里声明它有一个隐式操作数和调用堆栈。
就WebAssembly而言,这到底意味着什么?显式堆栈与隐式堆栈有何不同?
隐式堆栈由VM管理,不能直接访问。它被各种指令隐式地推送到和弹出。
显式堆栈的一个例子可能是线性内存的一个区域,您可以通过加载和存储指令直接访问该区域。事实上,这正是llvm对地址获取堆栈变量所做的。即它为它们分配特定的区域和线性存储器。
控制流堆栈(例如,堆栈上每个函数的返回地址(也是隐式堆栈的一部分,不能显式读取或写入。