V8のバージョン番号付けスキーム
V8のバージョン番号は x.y.z.w
の形式で構成されており、以下の意味があります:
x.y
はChromiumのマイルストーンを10で割った値(例: M60 →6.0
)z
は新しい LKGR があるたびに自動的に増加します(通常は1日に数回)w
はブランチポイント後に手動でバックマージされたパッチによって増加します
w
が 0
の場合は、バージョン番号から省略されます。例えば、v5.9.211(「v5.9.211.0」ではなく)はパッチがバックマージされた後にv5.9.211.1に増加します。
どのV8のバージョンを使用すべきですか?
V8を組み込む場合は、Chromeで提供されているV8のマイナーバージョンに対応するブランチの最新のヘッドを使用するのが一般的です。
最新の安定版Chromeに対応するV8のマイナーバージョンを見つける方法
どのバージョンかを確認するには、
- https://chromiumdash.appspot.com/releases にアクセスする
- 表の中で最新の安定版Chromeバージョンを探す
- (i) をクリックし、
V8
列を確認する
対応するブランチのヘッドを探す方法
V8のバージョン関連のブランチは、https://chromium.googlesource.com/v8/v8.git のオンラインリポジトリには表示されず、タグのみが表示されます。そのブランチのヘッドを見つけるには、以下の形式のURLにアクセスしてください:
https://chromium.googlesource.com/v8/v8.git/+/branch-heads/<minor-version>
例: 上記で見つけたV8のマイナーバージョン12.1の場合、https://chromium.googlesource.com/v8/v8.git/+/branch-heads/12.1 にアクセスし、“Version 12.1.285.2” というタイトルのコミットを見つけます。
注意: 上記のマイナーV8バージョンに対応するタグのうち、数値的に最大のものを単純に選ぶべきではありません。それらは時にサポートされていない場合があり、例えばマイナーリリースの基準を決定する前にタグ付けされたものです。そのようなバージョンはバックポートなどを受け取りません。
例: V8タグ 5.9.212
、5.9.213
、5.9.214
、5.9.214.1
, …, および 5.9.223
は放棄されており、ブランチヘッド の5.9.211.33より数値的に大きいにもかかわらず廃止されています。
対応するブランチのヘッドをチェックアウトする方法
すでにソースを持っている場合、ヘッドを直接チェックアウトできます。depot_tools
を使用してソースを取得した場合、以下のコマンドを実行できます:
git branch --remotes | grep branch-heads/
これにより関連するブランチの一覧が表示されます。上記で見つけたマイナーV8バージョンに対応するブランチをチェックアウトし、それを使用してください。このタグが埋め込み用として適切なV8バージョンになります。
depot_tools
を使用しなかった場合、.git/config
を編集して、以下の行を [remote "origin"]
セクションに追加してください:
fetch = +refs/branch-heads/*:refs/remotes/branch-heads/*