Upgrade to Pro — share decks privately, control downloads, hide ads and more …

V8コントリビュート超入門

Avatar for Riya Amemiya Riya Amemiya
September 04, 2026

 V8コントリビュート超入門

このスライドはSlidevで作られており、以下のレポジトリで公開しています
https://github.com/riya-amemiya/amemiya_riya_slide_data/blob/main/v8_contribute_intro

Avatar for Riya Amemiya

Riya Amemiya

September 04, 2026

More Decks by Riya Amemiya

Other Decks in Technology

Transcript

  1. 自己紹介 西 悠太 (Nishi Yuta) 21歳(重要、important) V8 Contributor Platform Engineer

    at Dinii Inc. TSKaigi Staff TypeScriptが好きです。 V8にパッチを送るのも好きです。 @riya-amemiya
  2. depot_tools Chromium と V8 の開発には depot_tools が必須です。 git clone して、パスを通します。

    git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git export PATH="$(pwd)/depot_tools:$PATH"
  3. 1. ソースを取る fetch v8 cd v8 fetch は depot_tools に入っています。

    取得のあと、意図的に detached HEAD になります。 Gerritの設定&mainにswitchします。 git config --local gerrit.host true git switch main # or checkout main
  4. 2. 依存取得&ビルド git pull origin main gclient sync ./tools/dev/gm.py arm64.release

    gm.py でビルドします。 Macbook ProのM4 Proで1時間ぐらいかかります
  5. Uploadする git cl format git cl presubmit git cl upload

    git cl upload を打つと、Gerrit 上に CL ができます。
  6. 5. レビューとCommit Queue git cl owners → 変更したディレクトリの OWNERS から承認をもらいます

    → Commit-Queue +1 は、コミットせずに try bot だけ回します → Commit-Queue +2 で、try botが全部緑なら自動でコミットされます → (CQを押す権限はcommitterにのみあります)
  7. 今日覚えて帰ってほしいこと ✓ V8の本体はchromium.googlesource.comにあり、GitHubの v8/v8 はミラー ✓ 変更は、GerritにCLとして送る ✓ depot_tools を入れてから

    fetch v8 でソースを取り、 tools/dev/gm.py でビルドする ✓ 挙動が変わる変更には、テストを付ける ✓ OWNERSの承認が付いてCommit Queueを通ると、自動でコミットされる
  8. 参考資料 V8 Docs: Contributing depot_tools: Setting up V8 Docs: Checking

    out the V8 source code V8 Docs: Building V8 from source Chromium Docs: Contributing to Chromium