V8 の公開 API

このドキュメントでは V8 の公開 API の安定性と、開発者がどのように変更を加えられるかについて説明します。

API の安定性 #

Chromium Canary の V8 がクラッシュしやすいことが判明した場合、前の Canary の V8 バージョンにロールバックされます。したがって、1 つの Canary バージョンから次の Canary バージョンに変更しても V8 の API 互換性を保つことが重要です。

現在、API の安定性の違反を通知する ボット を継続的に実行しています。Chromium の HEAD を V8 の 現在の Canary バージョン でコンパイルします。

このボットの障害は現在 FYI としてのみ使用されており、何らかのアクションが必要になることはありません。ロールバック時に依存する CL を簡単に特定するために、責任者リストを使用することができます。

このボットを停止した場合、次回 V8 の変更と依存する Chromium の変更の間の期間を長くすることを思い出してください。

V8 の公開 API を変更する方法 #

V8 は Chrome、Node.js、gjstest など、さまざまなエンベッダーによって使用されています。V8 の公開 API(基本的に include/ ディレクトリ以下のファイル)を変更する際は、エンベッダーが新しい V8 バージョンにスムーズに更新できることを確認する必要があります。特に、エンベッダーが新しい V8 バージョンにアップデートして、1 つの原子的な変更で新しい API にコードを調整することは想定できません。

エンベッダーは、以前のバージョンの V8 を使用したままコードを新しい API に調整できる必要があります。以下のすべての手順は、このルールに従います。

V8 バージョンごとに重要な API 変更について説明した ドキュメント を保守しています。

定期的に更新される doxygen API ドキュメント もあります。