V8 的公共 API

本文档讨论了 V8 公共 API 的稳定性,以及开发者如何对其进行更改。

API 稳定性 #

如果 Chromium canary 中的 V8 出现崩溃,则会回滚到之前 canary 版本的 V8 版本。因此,保持 V8 的 API 从一个 canary 版本到下一个 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 文档