V8 的公開 API

本文探討 V8 公開 API 的穩定性,以及開發人員如何對其進行變更。

API 穩定性 #

如果 Chromium Canary 中的 V8 發生崩潰,它會回滾到前一個 Canary 的 V8 版本。因此,保持 V8 的 API 從一個 Canary 版本相容到下一個版本非常重要。

我們持續執行一個 機器人,用於發出 API 穩定性違規訊號。它會使用 V8 的 目前 Canary 版本編譯 Chromium 的 HEAD。

目前,此機器人的失敗僅供參考,不需要採取任何行動。在回滾時,可以利用責難清單輕鬆找出相依的 CL。

如果您中斷此機器人,請記住下次在 V8 變更和相依的 Chromium 變更之間增加時間間隔。

如何變更 V8 的公開 API #

V8 由許多不同的嵌入式程式使用:Chrome、Node.js、gjstest 等。在變更 V8 的公開 API(基本上是 include/ 目錄下的檔案)時,我們需要確保嵌入式程式可以順利更新到新的 V8 版本。特別是,我們不能假設嵌入式程式會更新到新的 V8 版本,並在一個原子變更中調整其程式碼以符合新的 API。

嵌入式程式應該能夠在仍使用 V8 舊版本的情況下,調整其程式碼以符合新的 API。以下所有說明都遵循此規則。

我們維護一份 文件,其中提到每個 V8 版本的重要 API 變更

還有一個定期更新的 doxygen api 文件