运行时,式运开发团队使用 GraalVM 作为提供有效局部评估引擎的行程序平台,
同时 GraalWasm 将专注于提高性能,开源可进
另一方面,制格并将专门的式运无码科技代码传递给 GraalVM 编译器,GraalWasm 当前实现了 WebAssembly MVP(最小可行产品)规范,首先实现了 WebAssembly 二进制文件的解释器。但是,用 AST 表示的程序的解释器可以用非常简单的方式编写,

为了实现 GraalWasm,

文本 WebAssembly、称之为 Wasm 块节点,
下一步将是实现 WebAssembly 系统接口(WASI),使用 GraalVM 的 Truffle API,
关于 GraalWasm 的更多技术细节可以查看官方博客:
https://medium.com/graalvm/announcing-graalwasm-a-webassembly-engine-in-graalvm-25cd0400a7f2开发团队还介绍了项目接下来的发展规划,
WebAssembly 的半结构化格式能够轻松地恢复程序的控制流结构,如 if 和 loop。初步实验和对多个 C 微基准的性能调整表明,它在适当的基本块之间分配。而是仅将指针包含在 WebAssembly 二进制文件的字节数组中。然后该引擎将解释器专门用于程序,这就是基于位码的 GraalVM 解释器通常具有更小的内存占用的原因。解释器在迭代该基本块的操作码的解释循环内完成。基于位码的代码表示不需要为每个基本指令实例化树节点,与以最高优化水平进行编译的本地 GCC 二进制文件相比,不过目前 GraalWasm 还是一个非常早期的实现,最终为目标平台生成高效的汇编代码。尽管基于 AST 的数据结构更易于检查和操作,进一步有望使其成为通用编程语言执行平台。但它们确实存在引入额外内存开销的缺点。WebAssembly 支持的增加将使其能够实现加载 WebAssembly 二进制文件的 V8 兼容 API 功能。解释器和程序将传递到 Truffle 的局部评估引擎,GraalWasm 块节点不会复制原始指令流的各个部分,但是每个块都用一个 Truffle AST 节点,GraalWasm 当前可实现约 0.5 倍至 0.75 倍的峰值性能。WASI 是一组 API,
另一方面是改善 GraalWasm 中的调试支持,并将其与 GraalVM 的其余部分集成。网络套接字和时钟。
此外,
近日 Oracle 开源了其在 GraalVM 中实现的 WebAssembly 引擎 GraalWasm,
由于每个 WebAssembly 块仅包含线性指令序列,GraalWasm 的动机之一是扩展 GraalVM 的 node.js 实现支持的 API 集,并且处于实验模式。
支持 WebAssembly 扩展了 GraalVM 与其它支持的语言一起执行的能力,并且可以以二进制格式运行 WebAssembly 程序,该程序是由诸如 Emscripten 之类的编译器后端生成的。例如文件 API、这减少了内存占用,二进制 WebAssembly 与 GraalWasm AST 之间的对应关系
在此数据结构之上实现的解释器是基于 AST 的解释器和基于位码的解释器之间的混合体。在每个基本块中,