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:compartments」を表示させた場合

短縮表記とフルURLを掲載したモードの2つが用意されている

サイトを閲覧すると表示される情報が変更される

ユーザコンパートメントにいくつかの区分けができたことを確認できる

Firefox 13ナイトリーより前のバージョンであっても、「about:memory?verbose」と入力すればコンパートメントを確認できる。

「about:memory?verbose」としてより多くの情報を表示させたところ

「about:memory」の表示はこのようになっている

「about:compartments」は、いわば「about:memory」で表示される情報をコンパートメントについてのみまとめたもの。「about:memory」と多くのコードを共有していると説明がある。「about:memory」におけるコンパートメントの表示は、ゾンビコンパートメントを発見するためのツールとして活用されていたが、「about:compartments」の登場によってゾンビコンパートメントの発見がより容易になり、Firefoxおよびアドオンのより進んだ改善が期待できる。