更快的版本發布
為了更快地向用戶提供新功能和漏洞修復,Chrome 正在加快它的版本發布周期。
為了匹配 Chrome 的新版本發布節奏,V8 也將開始每 4 周(而不是之前的 6 周)標記一個主要版本分支。每隔一次的主要版本分支也將維護 8 周,以便嵌入者可以選擇留在更新頻率較低的版本。
超高速的 `super` 屬性訪問
super
關鍵字 可用於訪問物件父級的屬性和函數。
以前,訪問 super 屬性(如 super.x
)是通過執行期呼叫實現的。從 V8 v9.0 開始,我們在未優化的程式碼中重用了內聯快取(IC)系統,並為 super 屬性訪問生成適當的優化程式碼,而無需跳轉到執行期。
更快的 JavaScript 調用
JavaScript 允許以與期望的參數數量不同的參數數量調用函數,即可以傳遞比聲明的正式參數數量更少或更多的參數。前者稱為低於應用,後者稱為超量應用。
V8 版本 v8.9
一個附加的無回溯正規表示法引擎
從 v8.8 開始,V8 提供一個新的實驗性無回溯正規表示法引擎(除了現有的 Irregexp 引擎以外),該引擎保證相對於主串大小以線性時間執行。實驗性引擎可通過下面的功能標誌開啟。
V8 發佈 v8.7
Indicium: V8 運行時追蹤工具
過去三個月對我來說是一段非常棒的學習經歷,因為我作為實習生加入了 V8 團隊(Google London),並且正在開發一個新工具 Indicium。
這款系統分析器是一個統一的網頁介面,用於追蹤、調試以及分析 Inline Caches (ICs) 和 Map 在真實應用中如何被創建與修改的模式。
V8 已經擁有一套針對 ICs 和 Maps 的追蹤基礎設施,可以通過 IC Explorer 處理和分析 IC 事件,以及通過 Map Processor 分析 Map 事件。但之前的工具無法統合分析 Maps 和 ICs,而系統分析器現在能夠做到這一點。
V8 中的 Slack 追蹤
Slack 追蹤是一種給新對象一個 比實際使用更大的初始大小 的方法,便於快速新增屬性。然後,經過一段時間後,將未使用的空間 神奇地返回到系統。很棒吧?