那么如何通过例如Google的V8引擎检查它是否像普通的Javascript一样执行,或者使用程序集以近原生性能执行?
答案 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来解决这个问题。