如何使用 SpiderMonkey 在 WebAssembly 中启用引用?

How can I enable references in WebAssembly with SpiderMonkey?

我尝试在带有 JavaScript 引擎 SpiderMonkey 的 WebAssembly 中使用实验性 AnyRef。我收到以下错误:

CompileError: wasm validation error: at offset 40: reference types not enabled

我尝试使用命令行参数 --wasm-gc 启用它,但没有成功。知道我该怎么做吗?

我这样称呼它:

js --wasm-gc test.js

目前使用 anyref 有点棘手,因为该功能处于中间状态;一旦我们找到一些缺失的部分,它就会 "just work"。

目前您不仅需要命令行开关,还需要在模块本身中明确选择加入。

在文本模式下(如果您在 SpiderMonkey shell 中使用内置的 wasmTextToBinary 函数),您必须在模块的开头有一个自定义部分,如下所示:

(gc_feature_opt_in 1)

如果您要生成二进制代码,编码记录在此处:https://github.com/lars-t-hansen/moz-gc-experiments/blob/master/version1.md