gpt4 book ai didi

webassembly - Webassembly编译是查表吗?

转载 作者:行者123 更新时间:2023-12-03 18:10:43 24 4
gpt4 key购买 nike

我的理解是 Webassembly 基本上是一组所有支持的处理器共有的机器代码指令,即它包含诸如“pop register 2”之类的命令,但不包含仅针对少数处理器的专用命令,例如 Intel MMX 命令.

在我看来,给定仅限于这些常用命令的程序,编译它们只是为每个列出的 Wasm 代码查找本地等效机器代码的问题,这将解释“流式编译”是如何可能的。

此描述是准确的、过于简单化的还是完全错误的?

最佳答案

Is WebAssembly compilation a look-up table?

没有。

My understanding is that Webassembly is basically a set of machine code instructions that all supported processors have in common

不,不是。 WebAssembly 有一个简单的指令集,在某些方面(按位运算符、加载、存储、简单数学)类似于汇编,但是,在其他方面它根本不像汇编语言。它支持函数、结构化控制流—— future 它将支持引用类型等……

It seems to me that, given programs limited to these common commands, compiling them is merely a matter of looking up the local equivalent machine code for each listed WASM code, which would explain how "streaming compilation" is possible.

“流式编译”之所以有效,是因为 WebAssembly 的二进制格式在每个部分之前,函数体等……前面有它的长度。这使得将其拆分为跨不同线程编译的“ block ”变得容易。

Is this description accurate, grossly oversimplified, or flat out wrong?

也许每个都有一点? ;-)

您可以在网站的“设计原理”页面上找到更多关于 WebAssembly 设计目标的信息:

https://webassembly.org/docs/rationale/

关于webassembly - Webassembly编译是查表吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57630305/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com