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

Posted

技术标签:

【中文标题】如何检查 Firefox 是不是使用 asm.js 代码?【英文标题】:How can I check if Firefox uses asm.js code?如何检查 Firefox 是否使用 asm.js 代码? 【发布时间】:2013-12-15 15:17:50 【问题描述】:

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

【问题讨论】:

【参考方案1】:

如果您只查看控制台,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 以解决这个问题)。

【讨论】:

以上是关于如何检查 Firefox 是不是使用 asm.js 代码?的主要内容,如果未能解决你的问题,请参考以下文章

检查是不是在 Firefox 版本 59 中启用了 flash

Mozilla使WebAssembly并行启动

如何使用 Python 检查文件保存是不是完成?

手写 asm.js - 你如何跟踪堆中的 javascript 对象?

“使用asm”到底是做啥的?

使用 asm.js 将依赖于外部库的代码转换为 javascript