2012-02-23 19 views
3

私たちのWebサイトには、かなり複雑なJSアプリケーションがあり、最新のFirefox 10リリースでは失敗します。これは、JSインタプリタにバグがあるように見え、明らかにそうでないときに変数がNULLを返すためです。このバグは、JITコンパイラがアクティブな場合にのみ発生し、無効になっている場合には発生しません。このバグをMozillaに報告し、回避策を見つけようとします。スクリプトからFirefox JavaScript JITを無効にすることはできますか?

スクリプト内で特定のスクリプトのJITを無効にする方法はありますか?

ありがとうございます。

+1

可能だったとしても、それは直感的ではないように思えます。 JSの特定のセクションのJITを無効にするコマンドを発行するために、JSから。 JSを解析するためにはコンパイラが必要になります.JITでのみ行うことができます。スクリプトはすでに解析されているため、JITを有効または無効にすることは意味がありません。 – alykhalid

+0

これは、scriptタグまたはhtmlページの独自の属性である可能性があります。 –

+0

Mozillaがあなたのバグレポートに基づいて修正を出すまで、違反しているJSを動的に置き換えたり、縮小された機能を持つページを表示するために、何らかのブラウザバージョンの盗聴を使用することをお勧めします。 Mozillaがこれがバグではないと言っているシナリオも見ていきますので、私は私の最後に回避策を見ていきます。 – alykhalid

答えて

4

答えはブライアン・ハケットから来ているスクリプトでwithを使用して

は、例えば、そのスクリプトのためにJITを無効にしますwith({}) {}を先頭に追加します。

はここhttps://bugzilla.mozilla.org/show_bug.cgi?id=730004#c11

朗報を、それを参照してください。これは確かに問題を回避します。

ありがとうございました! Mozilla rocks!

1

ガブリエル、それを行う信頼できる方法はありません。 JITがまだサポートしていない何らかの機能を使用して特定の機能に対してJITを無効にすることは可能ですが、明らかにJITの人々はこれを引き起こす可能性のある一連の状況を最小限に抑えようとします...公式の "JITをオフにする"コマンド。

一方、バグを報告すると、JSエンジンの人々は、何が起こっているかに応じて、最終的に回避策を提案することができます。

登録したバグにcc me( ":bz")してください。 (:bhackett)mozilla.orgで:

+0

こんにちはBoris、問題はhttps://bugzilla.mozilla.org/show_bug.cgi?id=730004で作成されています。問題が表示されている場所でデバッガーを使ったスクリーンショットがあります。私は詳細を提供したり、ダンプをデバッグしたり、ここで試してみることができますhttp://www.english-attack.com/game/say-what?content=101477 –

+0

私はバグ自体が遅かれ早かれ修正されると確信しています。その間に、JIT _today_を無効にする特定の機能があるかどうか知っていますか?私たちはこの問題を回避するために多くの問題を抱えています。ご意見ありがとうございます。 –

+0

私は一手を知らない。 Brianがバグの詳細を提供することができるかもしれません.... –

関連する問題