当 WebAssembly 有一个"implicit"堆栈时,这意味着什么?



WebAssembly规范在这里声明它有一个隐式操作数和调用堆栈。

就WebAssembly而言,这到底意味着什么?显式堆栈与隐式堆栈有何不同?

隐式堆栈由VM管理,不能直接访问。它被各种指令隐式地推送到和弹出。

显式堆栈的一个例子可能是线性内存的一个区域,您可以通过加载和存储指令直接访问该区域。事实上,这正是llvm对地址获取堆栈变量所做的。即它为它们分配特定的区域和线性存储器。

控制流堆栈(例如,堆栈上每个函数的返回地址(也是隐式堆栈的一部分,不能显式读取或写入。

相关内容

  • 没有找到相关文章

最新更新