SpiderMonkeyのインラインキャッシュ:単純なキャッシングを超えて
2025-09-14
この記事では、SpiderMonkey JavaScriptエンジンのインラインキャッシュ(IC)の実装について詳しく説明します。従来のキャッシングとは異なり、SpiderMonkeyのICは自己修正コード技術です。呼び出しサイトに一連のスタブを挿入し、入力タイプに基づいて効率的な実行パスを動的に選択します。最初の呼び出しはフォールバックパスを実行し、結果に基づいて対応するスタブを生成します。同じタイプの後続の呼び出しはキャッシュにヒットし、効率が大幅に向上します。この記事では、JavaScriptの加算を例にICの動作を説明し、SpiderMonkeyの最新のCacheIRアーキテクチャについても触れています。CacheIRは、異なるコンパイラ間でICを共有できるように、ICの詳細を抽象化します。
開発
インラインキャッシュ