Firefox web browser - Faster, more secure & customizable |
MemShrinkにおいて、Firefox 13ナイトリーに新しく「about:compartments」が追加されたことが報告された。「about:compartments」は、ユーザがWebサイトを閲覧することで発生するJavaScriptコンパートメントを表示するページ。「about:memory」から派生した機能で、「ゾンビ・コンパートメント」と呼ばれる、もはや利用されることのないメモリ領域を発見するために開発されたものだと説明がある。
Firefoxでは、JavaScriptで利用する領域をいくつかの区画に分けて利用している。この領域はコンパートメントと言われており、大雑把にいうとサイトごとに作成されるようになっている。JavaScriptで利用する領域を区分けすることで、セキュリティの向上とメモリの局所参照性を引き上げる効果があるとされている。
このコンパートメントだが、Firefoxやアドオンのバグによって、開放されるべきコンパートメントがいつまでも残ってしまう問題がある。一種のメモリリークということになるが、「about:compartments」は、こうした領域の発見を容易にすることを目的として追加された機能となる。
Firefox 13ナイトリーより前のバージョンであっても、「about:memory?verbose」と入力すればコンパートメントを確認できる。
「about:compartments」は、いわば「about:memory」で表示される情報をコンパートメントについてのみまとめたもの。「about:memory」と多くのコードを共有していると説明がある。「about:memory」におけるコンパートメントの表示は、ゾンビコンパートメントを発見するためのツールとして活用されていたが、「about:compartments」の登場によってゾンビコンパートメントの発見がより容易になり、Firefoxおよびアドオンのより進んだ改善が期待できる。