更快的发布节奏
为了更快地向用户提供新功能和问题修复,Chrome 正在加速其发布周期。
为了适应 Chrome 的新发布节奏,V8 也将开始每 4 周标记一个主要发布分支(此前是每 6 周)。每隔一个主要发布分支也将维持 8 周以兼容那些希望保持较低频率更新计划的嵌入式开发者。
超级快速的`super`属性访问
super
关键字 可用于访问对象父级上的属性和函数。
以前,访问 super 属性(例如 super.x
)是通过运行时调用实现的。从 V8 v9.0 开始,我们在非优化代码中重用了内联缓存 (IC) 系统,并且为 super 属性访问生成了适当的优化代码,而不需要跳转到运行时。
更快的JavaScript调用
JavaScript允许以与预期参数数量不同的参数数量调用函数,也就是说,可以传递比声明的形式参数少或多的参数。前者称为“少应用(under-application)”,后者称为“多应用(over-application)”。
V8发布v8.9版本
一个额外的非回溯正则表达式引擎
从 v8.8 开始,V8 附带了一个新的实验性非回溯正则表达式引擎(除了现有的 Irregexp 引擎 之外),它保证相对于目标字符串的大小按线性时间执行。这个实验性引擎可以通过下列所述的功能标志启用。
V8 发布 v8.7
Indicium: V8运行时跟踪工具
过去三个月里,我作为实习生加入了V8团队(Google伦敦),这段时间是一次非常棒的学习经历。我一直在开发一个新工具,名为Indicium。
这个系统分析器是一个统一的网页界面,用于追踪、调试和分析Inline Caches(ICs)和Maps在真实应用中被创建和修改的模式。
V8已经有一些针对ICs和Maps的追踪基础设施,可以使用IC Explorer分析IC事件以及使用Map Processor分析Map事件。然而,以前的工具无法全面分析Maps和ICs,而现在系统分析器使这一操作成为可能。
V8中的Slack追踪
Slack追踪是一种为新对象分配比它们实际需要更大的初始大小的方法,以便快速添加新属性。然后,在一段时间后,神奇地将未使用的空间归还给系统。很酷吧?