JavaScript 引擎 V8 发布 8.3 版本

2022-12-28 0 880

JavaScript 发动机 V8 正式发布了 8.3 版(开发阶段),正式版将在之后随 Chrome 83 一起面世。8.3 版带来了一些面向全国开发者的优点,主要看点包括:

JavaScript 引擎 V8 发布 8.3 版本

废弃物过滤器中更快的 ArrayBuffer 追踪

ArrayBuffer 的预备队储存是采用内嵌器提供的 ArrayBuffer::Allocator 在 V8 堆以外重新分配的。当废弃物过滤器拆解其 ArrayBuffer 第一类时,须要释放出来那些预备队储存。V8 v8.3 具备追踪 ArrayBuffer 及其预备队储存的长效,该监督机制容许废弃物拆解器插值并同时将预备队储存释放出来给插件。这将 ArrayBuffer 紧迫的工作阻抗中的总 GC 中止时间减少了 50%。

Villamblard的 Wasm 缓存

依照 WebAssembly 规范化的预览,V8 v8.3 现在容许组件请求最大为 4GB 的缓存,进而容许将更多缓存专门化示例导入 V8 驱动力的网络平台。要注意的是,这么多的缓存可能并不常常在使用者的系统上需用;建议以较细的大小不一建立缓存,依照须要进行扩充,并适度地处置增长失利的情形。

复原

储存到蓝本链上具备类别字符串的第一类

依照 JavaScript 规范化,当将值储存到选定键时,须要搜寻蓝本链,以查阅键是否已存有于蓝本中。那些公钥一般来说不存有于蓝本链中,因而 V8 加装了加速搜寻处理程序。

但前段时间在这类特定情形中,V8 严重错误地加装了此加速搜寻执行程序,进而导致了严重错误的犯罪行为。当 TypedArray 在蓝本链上时,所有储存到 TypedArray 的 OOB 的键都应被忽视。比如,在高于 v[2] 的情形下,不该向 v 加进优点,并且先期加载应回到 undefined。

V8 的加速搜寻执行程序难以处置此种情形,因而在此例中,将回到 123 。V8 v8.3 通过在 TypedArrays 在蓝本链上时不采用加速搜寻执行程序来化解此问题。此种情形并不常用,在基准测试中仍未发现任何操控性下降的情形。

预览说明:

https://v8.dev/blog/v8-release-83

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务