跳至主要内容

啟動 Ignition 解釋器

· 閱讀時間約 4 分鐘
Ross McIlroy, V8 Ignition 啟動器

V8 和其他現代 JavaScript 引擎通過即時編譯 (JIT)將腳本快速編譯成原生機器碼然後立即執行來獲得速度。程式碼最初由基準編譯器快速生成非最佳化的機器碼進行編譯。在執行期間,編譯後的碼會被分析並且可選擇使用更高級的最佳化編譯器重新編譯以達到最佳效能。在 V8 中,此腳本執行流程涉及多種特殊情況和條件,需用複雜的機制在基準編譯器與兩個最佳化編譯器 Crankshaft 和 TurboFan 之間切換。

V8 在 BlinkOn 6 會議

· 閱讀時間約 2 分鐘
V8 團隊

BlinkOn 是 Blink、V8 和 Chromium 貢獻者的半年一次會議。BlinkOn 6 於6月16日至17日在慕尼黑舉行。V8 團隊進行了多場有關架構、設計、性能計劃以及語言實現的展示。

V8 發佈 v5.3

· 閱讀時間約 4 分鐘
V8 團隊

大約每六週,我們會根據我們的發佈流程創建一個新的 V8 分支。每個版本都是在 Chrome Beta 里程碑進行分支之前,從 V8 的 Git 主分支進行分支。今天我們很高興宣佈我們最新的分支,V8 版本 5.3,該版本將處於 Beta 版本直到與 Chrome 53 正式穩定版一起發佈為止。V8 v5.3 包含眾多面向開發者的寶藏,為了迎接幾週後的正式發佈,我們希望為您預覽一些亮點。

V8 版本 v5.2

· 閱讀時間約 2 分鐘
V8 團隊

大約每隔六週,我們根據版本發布流程創建 V8 的新分支。每個版本都來自 V8 的 Git 主分支,並立即在 Chrome Beta 的里程碑分支之前創建分支。今天我們榮幸地宣布最新的分支,V8 版本 5.2,它將進入 Beta 階段,並與 Chrome 52 穩定版協調發布。V8 5.2 包含各種面向開發者的精彩功能,因此我們希望在幾週後版本發布之前為您預覽一些亮點。

ES2015、ES2016,以及未來發展

· 閱讀時間約 9 分鐘
V8 團隊,ECMAScript 愛好者

V8 團隊非常重視 JavaScript 語言的演進,致力於讓其成為更加具表達力和明確定義的語言,讓開發快速、安全且正確的網頁應用程式變得更加容易。2015 年 6 月,TC39 標準委員會正式通過了 ES2015 規範,這是 JavaScript 語言迄今為止最大規模的一次更新。新增功能包括 類別箭頭函式Promise迭代器 / 產生器代理知名符號,以及其他語法糖。TC39 亦加快了新規範的發布節奏,並於 2016 年 2 月發布了 ES2016 候選草案,將於當年夏天正式通過。雖然由於發布週期縮短,ES2016 的更新內容不如 ES2015 廣泛,但它引入了 指數運算子Array.prototype.includes 等值得注意的特性。

V8 發行版本 v5.1

· 閱讀時間約 3 分鐘
V8 團隊

V8 發行流程 的第一步是在 Chromium 為 Chrome Beta 里程碑(大約每六週)的分支之前從 Git 主倉創建新分支。我們最新的發行分支是 V8 v5.1,其將保持 Beta 狀態,直到我們與 Chrome 51 穩定版本一起發佈穩定版本。以下是此版本 V8 的新開發者功能亮點。

垃圾怪客破壞者第二部:Orinoco

· 閱讀時間約 6 分鐘
垃圾怪客破壞者:烏蘭·德根巴耶夫,邁克爾·利帕烏茨,以及哈內斯·佩耶爾

之前的博客文章中,我們介紹了垃圾回收中斷流暢瀏覽體驗所導致的卡頓問題。在這篇文章中,我們介紹了三項優化,它們為 V8 中一個新的垃圾回收器代號為 Orinoco 奠定了基礎。Orinoco 基於這樣一個理念:實現一個大多數並行且併發的垃圾回收器,且不依賴嚴格的代界限,將減少垃圾回收卡頓和內存消耗,同時提供高吞吐量。我們選擇不僅僅作為一個獨立的垃圾回收器來實施 Orinoco,而是分階段在 V8 的樹頂逐步提供 Orinoco 的功能,以便立即為用戶提供益處。本篇文章探討的三個功能是並行壓縮、並行記憶集合處理,以及黑色分配。

V8 發布 v5.0

· 閱讀時間約 3 分鐘
V8 團隊

V8 發布流程 的第一步是從 Git 主分支中新建一個分支,這通常在 Chromium 為 Chrome Beta 里程碑分支(大約每六週一次)之前進行。我們最新的發布分支是 V8 v5.0,這個版本將在與 Chrome 50 穩定版一同發布之前保持 Beta 狀態。以下是此版本 V8 面向開發者的新功能亮點。

在 V8 中對 WebAssembly 的實驗性支持

· 閱讀時間約 3 分鐘
Seth Thompson,WebAssembly 管理員

要詳細了解 WebAssembly 以及未來社區合作的路線圖,請參閱 Mozilla Hacks 博客上的 A WebAssembly Milestone

自 2015 年 6 月以來,來自 Google、Mozilla、Microsoft、Apple 以及 W3C WebAssembly 社區小組 的合作夥伴一直在努力 設計規範化 以及實現 (1, 2, 3, 4) WebAssembly,一種新的網頁運行時和編譯目標。WebAssembly 是一種低級、可移植的位元組碼,旨在以緊湊的二進制格式編碼並在記憶體安全的沙盒中以近乎原生的速度執行。作為現有技術的演化,WebAssembly 與網頁平臺緊密集成,並且相比於 asm.js,下載和初始化速度更快。

RegExp 後行斷言

· 閱讀時間約 3 分鐘
Yang Guo,正則表達式工程師

自 ECMA-262 規範的第三版引入以來,正則表達式就自 1999 年起成為 JavaScript 的一部分。在功能性和表達能力上,JavaScript 的正則表達式實現與其他程式語言大致相當。