查看 V8 原始碼

本文說明如何查看本機的 V8 原始碼。如果您只想線上瀏覽原始碼,請使用下列連結

使用 Git #

V8 的 Git 儲存庫位於 https://chromium.googlesource.com/v8/v8.git,在 GitHub 上有官方鏡像:https://github.com/v8/v8

不要直接對這兩個網址執行 git clone!如果您想從您的結帳中建置 V8,請遵循下列說明正確設定所有內容。

說明 #

  1. 在 Linux 或 macOS 上,請先安裝 Git,然後 depot_tools

    在 Windows 上,請遵循 Chromium 說明(適用於 Google 員工適用於非 Google 員工)安裝 Visual Studio、Windows 偵錯工具,以及 depot_tools(在 Windows 中包含 Git)。

  2. 透過在您的終端機/殼層中執行下列指令,更新 depot_tools。在 Windows 中,必須在命令提示字元(cmd.exe)中執行,而不是 PowerShell 或其他程式。

    gclient
    
  3. 對於推播存取權,您需要使用您的 Git 密碼設定 .netrc 檔案

    1. 前往 https://chromium.googlesource.com/new-password,並使用您的提交者帳戶(通常是 @chromium.org 帳戶)登入。請注意:建立新密碼不會自動取消任何先前建立的密碼。請務必使用與 git config user.email 設定相同的電子郵件。
    2. 查看包含殼層指令的大型灰色方塊。將這些行貼到您的殼層。
  4. 現在,取得 V8 原始碼,包括所有分支和相依性

    mkdir ~/v8
    cd ~/v8
    fetch v8
    cd v8

之後,您會故意處於分離的頭部狀態。

您可以選擇性地指定追蹤新分支的方式

git config branch.autosetupmerge always
git config branch.autosetuprebase always

或者,你可以這樣建立新的本機分支(建議)

git new-branch fix-bug-1234

保持最新 #

使用 git pull 更新你的目前分支。請注意,如果你不在分支上,git pull 將無法運作,你需要改用 git fetch

git pull

有時 V8 的依賴項會更新。你可以執行以下指令進行同步

gclient sync

傳送程式碼供審閱 #

git cl upload

提交 #

你可以使用 codereview 上的 CQ 核取方塊進行提交(建議)。另請參閱 chromium 指示,了解 CQ 標記和疑難排解。

如果你需要比預設更多的試驗機器人,請將以下內容新增到你在 Gerrit 上的提交訊息(例如新增 nosnap 機器人)

CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_nosnap_rel

若要手動登陸,請更新你的分支

git pull --rebase origin

然後使用以下指令提交

git cl land

試驗作業 #

此區段僅對 V8 專案成員有用。

從 codereview 建立試驗作業 #

  1. 上傳 CL 至 Gerrit。

    git cl upload
  2. 透過將試驗作業傳送至試驗機器人,來嘗試 CL,如下所示

    git cl try
  3. 等待試驗機器人建置,你會收到一封包含結果的電子郵件。你也可以在 Gerrit 上查看你的修補程式的試驗狀態。

  4. 如果套用修補程式失敗,你需要重新設定你的修補程式,或指定要同步的 V8 版本

git cl try --revision=1234

從本機分支建立試驗作業 #

  1. 提交一些變更至本機儲存庫中的 git 分支。

  2. 透過將試驗作業傳送至試驗機器人,來嘗試變更,如下所示

    git cl try
  3. 等待試驗機器人建置,你會收到一封包含結果的電子郵件。請注意:目前某些複製品有問題。建議從 codereview 傳送試驗作業。

有用的參數 #

版本參數會告訴試驗機器人使用哪個版本程式碼庫來套用你的本機變更。如果沒有版本,V8 的 LKGR 版本 將用作基礎。

git cl try --revision=1234

若要避免在所有機器人上執行你的試驗作業,請使用 --bot 標記,並附上一個以逗號分隔的建置器名稱清單。範例

git cl try --bot=v8_mac_rel

檢視試驗伺服器 #

git cl try-results

原始碼分支 #

V8 有好幾個不同的分支;如果您不確定要取得哪個版本,您很可能想要取得最新的穩定版本。請查看我們的 發布流程,以取得關於所使用不同分支的更多資訊。

您可能想要追蹤 Chrome 在其穩定(或測試)頻道上發布的 V8 版本,請參閱 https://omahaproxy.appspot.com/