V8 版本号方案
V8 版本号格式为 x.y.z.w
,其中
x.y
是 Chromium 里程碑除以 10(例如 M60 →6.0
)z
在每次出现新的 LKGR 时自动递增(通常每天几次)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/*