Googleが「V8 v8.6」を発表

 JavaScriptエンジンV8開発チームは9月21日、最新安定版となる「V8 release v8.6」を発表した。

 V8はGoogleがオープンソースプロジェクトとして開発・公開するJavaScriptおよびWebAssemblyエンジン。Chrome、Node.jsなどで使われている。C++で書かれており、ECMAScriptとWebAssemblyを実装する。Windows 7以降、macOS 10.12以降、x86/IA32/ARM/MIPSベースのLinuxなどで動き、スタンダロンとしてもC++アプリケーションに組み込む形でも動く。

 V8 v8.6は2019年12月に発表されたバージョン8系の最新安定版。V8は6週間のリリースサイクルを持ち、それに沿う形となる。10月初めに予定している「Chrome 86」安定版に合わせてリリースされる。

 V8のファジングツール「JS-Fuzzer」がオープンソースとなった。Babel ASTコード変換を使ったmutationベースのファジングで、他の問題の検出にも使っているという。JavaScript数値を文字列に変換するNumber.prototype.toStringを強化し、よくあるケースでのオーバーヘッドを削減した。Atomics.wakeがAtomics.notifyに名称変更したことを受け、Atomics.wakeのエイリアスが削除された。

 WebAssemblyでは、Liftoffコンパイラで、ハードウェアのベクトルインストラクションを活用できるSIMDを実装する作業を進めた。現時点ではトップコンパイラのTurboFanのみに実装されており、スカラー型のLiftoffと比較すると2.8倍、TurboFanの場合は7.5倍高速になるという。また、インポートされたJavaScript関数を呼び出すWasm-to-JS wrapperも強化した。

 この他、APIでは、Isolate::HasPendingBackgroundTasksの強化などが加わった。

V8
https://v8.dev