function.name 在 JS 中用于 WASM 模块
function.name in JS for WASM module
我是 playing around with WASM in nodejs and noticed that function.name
,因为 WASM 模块是 0
,即使我的 WAT 文件导出函数名称。
为什么WASM模块没有设置导出名称? WASM 在 JS 中 function.name
中设置导出名称是否存在任何性能问题?这个 nodejs 是特定的还是在 WebAssembly 规范中缺失?
我希望我的问题很清楚。我想知道为什么 function.name
对于 WASM 模块来说是 0
。
我正在使用 wabt
@1.0.13 编译一个简单的 WAT 文件。
(module
(func $add (param i32 i32) (result i32)
(i32.add
(local.get 0)
(local.get 1))
)
(export "add" (func $add)))
和来自已编译 WASM 文件的 wasm2wat
相同的代码:
(module
(type $t0 (func (param i32 i32) (result i32)))
(func $add (type $t0) (param $p0 i32) (param $p1 i32) (result i32)
local.get $p0
local.get $p1
i32.add)
(export "add" (func $add)))
add.wasm
asm`add
j
导出的Wasm函数名称为defined to be the index.
您已经有了实际导出的名称,因为您必须按名称导入 add
。
另见 https://developer.mozilla.org/en-US/docs/WebAssembly/Exported_functions 他们调用 testFunc.toString()
的地方,结果函数的名称为 0
.
我是 playing around with WASM in nodejs and noticed that function.name
,因为 WASM 模块是 0
,即使我的 WAT 文件导出函数名称。
为什么WASM模块没有设置导出名称? WASM 在 JS 中 function.name
中设置导出名称是否存在任何性能问题?这个 nodejs 是特定的还是在 WebAssembly 规范中缺失?
我希望我的问题很清楚。我想知道为什么 function.name
对于 WASM 模块来说是 0
。
我正在使用 wabt
@1.0.13 编译一个简单的 WAT 文件。
(module
(func $add (param i32 i32) (result i32)
(i32.add
(local.get 0)
(local.get 1))
)
(export "add" (func $add)))
和来自已编译 WASM 文件的 wasm2wat
相同的代码:
(module
(type $t0 (func (param i32 i32) (result i32)))
(func $add (type $t0) (param $p0 i32) (param $p1 i32) (result i32)
local.get $p0
local.get $p1
i32.add)
(export "add" (func $add)))
add.wasm
asm`add
j
导出的Wasm函数名称为defined to be the index.
您已经有了实际导出的名称,因为您必须按名称导入 add
。
另见 https://developer.mozilla.org/en-US/docs/WebAssembly/Exported_functions 他们调用 testFunc.toString()
的地方,结果函数的名称为 0
.