谷歌 V8 JavaScript 引擎的最新7.0 和7.1 版本谷歌发布 V8 JavaScript 引擎的 V7.0 和 V7.1 版本,为 WebAssembly 增加关键特性,并引入一些语言改进。
Version 7.0 和 7.1 改进了对嵌入式内置程序的支持,通过在多个 V8 隔离程序之间共享生成的代码来节省内存。Version 7.0 最初在版本 6.9 中针对 x64 平台发布,除 ia32 之外,它为所有支持平台增加了支持。Version 7.1 通过在二进制文件中嵌入字节码处理程序来完成这项工作。
WebAssembly 在这些版本中获得了关键的改进。Version 7.0 添加了一个WebAssembly Threads 的早期预览版,它是由一个特性标记:chrome://flags/ enable- WebAssembly-threads 启用的。网站也可以注册一个最初试验,在新特性完全标准化之前进行试验,帮助 Chrome 团队收集真实世界的反馈来验证和改进新特性。
V8 版本 7.1 增加了对WebAssembly模块的postMessage支持,允许 WebAssembly。模块对象通过 postMessage 发送给 web workers。目前这仅限于 web workers(相同的进程,不同的线程),不能用于跨流程场景(跨源 postMessage 或共享 web workers)。
V8 的最新版本包含了一些 JavaScript 语言特性。Version 7.0 将 description 属性添加到 Symbol.prototype 中,为访问描述符提供一个更符合人体工程学的机制。Symbol description accessor 是第三阶段 TC39 提议,预计将成为 ES2019 的一部分,后者是明年的 JavaScript 标准版本。
Array.prototype.sort 的性能也将随着 7.0 的发布得到提升。
版本 7.1 增加了对Intl.RelativeTimeFormat的支持,这是一个 API,提供了相对时间的高性能本地化格式化(例如,明天,25 秒前,或 6 周后)。
7.1 还包括对 globalThis提议的支持,这是一种在严格的函数或模块中访问全局对象的机制,而不考虑底层平台。
最后一点,对性能进行了改进,以更好地处理高阶函数的局部函数上下文。
谷歌每六周创建一个 V8 JavaScript 引擎的分支版本,以配合谷歌 Chrome 的发布。V8 的 7.0 版本支持 Chrome 70, 7.1 支持 Chrome 71。V8 还为Node.js JavaScript 运行时提供支撑。
V8 是一个开源软件,具有几个外部依赖的代码库子集的适用许可。志愿者可以通过V8 Git项目进行贡献,但应该遵循V8的贡献指南和谷歌的开源行为指南。
查看英文原文:Google Releases Versions 7.0 and 7.1 of V8 JavaScript Engine
评论