跳至主要内容

V8 發佈 v7.7

· 閱讀時間約 4 分鐘
Mathias Bynens ([@mathias](https://twitter.com/mathias)), 發佈說明的懶惰撰寫者

每六週,我們按照發布流程建立 V8 的新分支。每個版本都在 Chrome Beta 里程碑之前,直接從 V8 的 Git 主分支分支而來。今天我們很高興宣布最新的分支 V8 版本 7.7,該分支處於測試版階段,幾週後會配合穩定版 Chrome 77 的釋出而正式發布。V8 v7.7 充滿了各種面向開發者的亮點。本文章為即將推出的版本提供一些預覽。

Emscripten 和 LLVM WebAssembly 後端

· 閱讀時間約 13 分鐘
Alon Zakai

WebAssembly 通常是從源代碼語言編譯而來,這意味著開發人員需要 工具 才能使用它。因此,V8 團隊致力於相關的開源項目,例如 LLVMEmscriptenBinaryen、和 WABT。本文描述了我們在 Emscripten 和 LLVM 上的部分工作,這項工作將很快使 Emscripten 默认切換到 LLVM WebAssembly 後端——請測試並回報任何問題!

2019年JavaScript的成本

· 閱讀時間約 14 分鐘
Addy Osmani([@addyosmani](https://twitter.com/addyosmani)),JavaScript清道夫,與Mathias Bynens([@mathias](https://twitter.com/mathias)),主線程解放者
備註

注意: 如果你比較喜歡觀看演講而非閱讀文章,請欣賞以下影片!如果不是,跳過影片繼續閱讀。

“JavaScript的成本” 由Addy Osmani在2019年的#PerfMatters大會中演講。

V8 發佈 v7.6

· 閱讀時間約 6 分鐘
Adam Klein

每六週,我們會創建一個 V8 的新分支作為我們發佈過程的一部分。每個版本都從 V8 的 Git 主分支分叉,時間為 Chrome Beta 里程碑之前。今天,我們很高興宣布我們最新的分支 V8 版本 7.6,該版本目前處於測試版本,並將於幾週內隨 Chrome 76 穩定版一起釋出。V8 v7.6 提供了多種面向開發者的新功能。本文為即將發布的亮點提供預覽。

WebAssembly 開發人員的程式碼快取

· 閱讀時間約 10 分鐘
[比爾·巴奇 (Bill Budge)](https://twitter.com/billb),在快取中放入 Ca-ching!

有句開發人員中的諺語叫做:最快的程式碼是不需要執行的程式碼。同樣,最快編譯的程式碼是不需要編譯的程式碼。WebAssembly 程式碼快取是 Chrome 和 V8 中的一項新優化,試圖通過快取編譯器生成的原生程式碼來避免程式碼編譯。我們之前曾寫過 探討過 如何 總結 Chrome 和 V8 快取 JavaScript 程式碼的方式,以及如何利用這項優化的最佳實踐。在本文中,我們將描述 Chrome 的 WebAssembly 程式碼快取的運作方式,以及開發人員如何利用它來加速大型 WebAssembly 模組的應用程式載入。

V8 發行 v7.5

· 閱讀時間約 5 分鐘
Dan Elphick,過時功能的剋星

每隔六周,我們會根據 發行過程 創建 V8 的新分支。每個版本都是在 Chrome Beta 里程碑之前,直接從 V8 的 Git 主分支分支出來。今天我們很高興地宣布我們最新的分支,V8 版本 7.5,該版本將在 Chrome 75 穩定版發行前的幾周內進入 beta 階段。V8 v7.5 包含了各種面向開發者的好功能。本篇文章提前向大家展示一些亮點內容。

更快且功能更豐富的國際化 API

· 閱讀時間約 5 分鐘
[சத்யா குணசேகரன் (Sathya Gunasekaran)](https://twitter.com/_gsathya)

ECMAScript 國際化 API 規範 (ECMA-402 或 Intl) 提供了關鍵的區域特定功能,例如日期格式化、數字格式化、複數形式選擇和排序。Chrome V8 和 Google 國際化團隊合作為 V8 的 ECMA-402 實現添加功能,同時清理技術債務並改善效能和與其他瀏覽器的互操作性。

一年與 Spectre:來自 V8 的觀點

· 閱讀時間約 10 分鐘
Ben L. Titzer 與 Jaroslav Sevcik

2018 年 1 月 3 日,Google Project Zero 和其他團隊 披露 了一種影響使用推測執行的 CPU 的新類型漏洞,名為 SpectreMeltdown。利用 CPU 的 推測執行 機制,攻擊者可以在臨時繞過代碼中防止程序讀取未授權內存數據的隱式和顯式安全檢查的情況下運行。雖然處理器推測的設計是一種微架構細節,應該在架構層面上不可見,但精心設計的程序可以在推測中讀取未授權的信息,並通過諸如程序片段執行時間等側信道披露它。

極速解析,第2部分:延遲解析

· 閱讀時間約 15 分鐘
Toon Verwaest([@tverwaes](https://twitter.com/tverwaes))和 Marja Hölttä([@marjakh](https://twitter.com/marjakh)),解析器專家

這是我們系列文章的第二部分,解釋了V8如何以最快速度解析JavaScript。第一部分解釋了我們如何讓V8的掃描器更快。

解析是把源代碼轉換為可供編譯器使用的中間表示的步驟(在V8中,是字節碼編譯器Ignition)。解析和編譯發生在網頁啟動的關鍵路徑上,而並不是所有的函數都在啟動期間立即需要。即使開發者可以用異步和延遲腳本來推遲這些代碼的執行,但這並非總是可行。此外,許多網頁會傳輸一些僅被某些功能使用的代碼,而這些功能可能在單個頁面加載過程中完全未被用戶訪問。

JavaScript 開發者的程式碼快取

· 閱讀時間約 15 分鐘
[Leszek Swirski](https://twitter.com/leszekswirski),快取擊碎者

程式碼快取(也稱為 位元碼快取)是瀏覽器中的一項重要優化。它透過快取解析及編譯的結果,減少常訪網站的啟動時間。大多數 流行瀏覽器 都實現了某種形式的程式碼快取,Chrome 也不例外。事實上,我們曾經 撰文 並且 談論 過 Chrome 和 V8 如何快取已編譯的程式碼。