6

那么如何检查它是通过例如 Google 的 V8 引擎像普通 Javascript 一样执行,还是使用汇编以接近本机性能执行?

4

1 回答 1

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)

这意味着一切正常(并且“错误”只是在这种情况下 JS 引擎如何报告成功的一个虚假怪癖;我提交了https://bugzilla.mozilla.org/show_bug.cgi?id=950527以获得那个固定的)。

于 2013-12-16T01:50:09.987 回答