如何检查Firefox是否使用asm.js代码?

时间:2013-12-15 15:17:50

标签: javascript c++ firefox emscripten asm.js

那么如何通过例如Google的V8引擎检查它是否像普通的Javascript一样执行,或者使用程序集以近原生性能执行?

1 个答案:

答案 0 :(得分:4)

如果您只是查看控制台,Firefox会告诉您asm.js是否已经过验证。对于上面粘贴的脚本,我得到:

TypeError: asm.js type error: non-expression-statement call must be coerced test.html:23

表明没有。在这种情况下,第23行是:

                return +sqrt(square(x) + square(y));

如果我用这个代替那行:

                return +sqrt(+square(x) + +square(y));

然后错误控制台说:

Error: successfully compiled asm.js code (total compilation time 0ms)

这意味着一切正常(和#34;错误"在这种情况下,JS引擎如何报告成功只是一个虚假的怪癖;我提交了https://bugzilla.mozilla.org/show_bug.cgi?id=950527来解决这个问题。