V8 发布 v8.7
每六周,我们会创建一个新的 V8 分支,作为我们发布流程的一部分。每个版本都会在 Chrome Beta 的里程碑之前立即从 V8 的 Git 主分支创建分支。今天,我们很高兴宣布我们的最新分支,V8 版本 8.7,它将在几周内作为 Chrome 87 稳定版进行协调发布前的 Beta 测试。V8 v8.7 包含各种面向开发者的新功能。本文章将对发布前的一些亮点进行预览。
JavaScript
不安全的快速 JS 调用
V8 v8.7 带来了增强的 API,用于从 JavaScript 进行原生调用。
该功能仍处于实验阶段,可以通过 V8 中的 --turbo-fast-api-calls
标志或 Chrome 中的 --enable-unsafe-fast-js-calls
标志启用。它设计用于提升 Chrome 中某些原生图形 API 的性能,同时也可以供其他嵌入者使用。它为开发者提供了创建 v8::FunctionTemplate
实例的新方式,详见此头文件。使用原始 API 创建的函数将不受影响。
关于更多信息和可用功能的列表,请查阅此说明文档。
Atomics.waitAsync
Atomics.waitAsync
现已在 V8 v8.7 中可用。
Atomics.wait
和 Atomics.notify
是底层同步原语,可用于实现互斥锁和其他同步方式。然而,由于 Atomics.wait
是阻塞的,因此无法在主线程上调用(尝试这样做会抛出 TypeError)。非阻塞版本 Atomics.waitAsync
也可以在主线程上使用。
查看我们关于 Atomics
API 的说明以了解更多详情。
V8 API
请使用 git log branch-heads/8.6..branch-heads/8.7 include/v8.h
查看 API 更改的列表。
拥有活跃 V8 检出的开发者可以使用 git checkout -b 8.7 -t branch-heads/8.7
来实验 V8 v8.7 中的新功能。或者您可以订阅 Chrome 的 Beta 频道,并且即将亲自尝试新功能。