可以从脚本中禁用Firefox JavaScript JIT吗?

时间:2012-02-23 09:45:37

标签: javascript firefox jit

我们的网站有一个相当复杂的JS应用程序,最新的Firefox 10版本失败了。这是由于JS解释器中出现了一个错误,当变量显然不是时,变量返回NULL。此错误仅在JIT编译器处于活动状态时发生,而不是在禁用时发生。我们将向Mozilla报告该错误并尝试找到解决方法。

有没有办法在Firefox中为脚本中的特定脚本禁用JIT?

谢谢。

2 个答案:

答案 0 :(得分:4)

答案来自mozilla.org的Brian Hackett(:bhackett):

  

在脚本中使用 with 将禁用该​​脚本的JIT,例如在顶部添加 with({}) {}

在此处查看https://bugzilla.mozilla.org/show_bug.cgi?id=730004#c11

好消息。这确实可以解决这个问题。

谢谢大家! Mozilla摇滚!

答案 1 :(得分:1)

加布里埃尔,没有可靠的方法来做到这一点。您可能能够通过使用JIT尚不支持的某些功能来禁用特定功能的JIT,但显然JIT人员会尝试最小化可触发此功能的环境。 ..没有正式的“关闭JIT”命令。

另一方面,一旦你提交了错误,JS引擎人员就可以根据正在发生的事情建议你的解决方法。

请告诉我(“:bz”)你提交的错误吗?