V8 リリース v9.0
6週間ごとに、V8のリリースプロセスの一環として新しいブランチを作成します。それぞれのバージョンはChrome Betaマイルストーン直前にV8のGitマスターから分岐します。本日、最新のブランチであるV8バージョン9.0を発表します。このバージョンは、数週間後にChrome 90 Stableと共にリリースされるまでベータ版です。V8 v9.0は、開発者に向けたさまざまな便利な機能に満ちています。この投稿では、リリースに先立ち、そのハイライトをいくつか紹介します。
6週間ごとに、V8のリリースプロセスの一環として新しいブランチを作成します。それぞれのバージョンはChrome Betaマイルストーン直前にV8のGitマスターから分岐します。本日、最新のブランチであるV8バージョン9.0を発表します。このバージョンは、数週間後にChrome 90 Stableと共にリリースされるまでベータ版です。V8 v9.0は、開発者に向けたさまざまな便利な機能に満ちています。この投稿では、リリースに先立ち、そのハイライトをいくつか紹介します。
Chromeは、ユーザーに新機能やバグ修正をより迅速に提供するため、リリースサイクルを短縮しています。
Chromeの新しいリリースサイクルに合わせて、V8も主要なリリースブランチを従来の6週間から4週間ごとにタグ付けを始めます。また、主要なリリースブランチごとに、更新頻度が少ないスケジュールを好む埋め込みユーザー向けに8週間維持されるものがあります。
super
キーワードは、オブジェクトの親に存在するプロパティや関数にアクセスするために使用できます。
以前は、superプロパティ(例えばsuper.x
)へのアクセスはランタイム呼び出しを介して実装されていました。V8 v9.0以降、非最適化コードでインラインキャッシュ (IC)システムを再利用し、ランタイムへのジャンプなしで適切な最適化コードを生成するようになりました。
JavaScriptでは、期待されるパラメータの数とは異なる引数の数で関数を呼び出すことができます。つまり、宣言された形式パラメータより少ないまたは多い引数を渡すことができます。前者の場合は「アンダーアプリケーション」と呼ばれ、後者は「オーバーアプリケーション」と呼ばれます。
6週間ごとに、リリースプロセスの一環として、新しい V8 のブランチを作成しています。各バージョンは、Chrome ベータマイルストーンの直前に V8 の Git マスターから分岐されます。本日、新しいブランチ V8 バージョン 8.9 を発表できることを嬉しく思います。このバージョンは、数週間後に Chrome 89 の安定版と連携してリリースされるまでベータ版となります。V8 v8.9 は、開発者に向けたさまざまな新機能が満載です。この投稿では、リリースに先立っていくつかの重要なハイライトを紹介します。
v8.8以降、V8は既存のIrregexpエンジンに加えて、新しい実験的なバックトラッキングしないRegExpエンジンを搭載しました。このエンジンは、対象文字列のサイズに対して線形時間で実行されることを保証します。実験的なエンジンは以下の機能フラグの背後で利用可能です。
V8では、6週間ごとに新しいブランチを作成するリリースプロセスの一環として、新しいバージョンを提供しています。各バージョンは、Chromeのベータ版マイルストーンの直前にV8のGitマスターからブランチが作成されます。本日、最新のブランチV8バージョン8.7を発表できることを嬉しく思います。このバージョンは数週間後にChrome 87の安定版に合わせてリリースされるまでベータ版にあります。V8 v8.7は、開発者向けの数多くの機能が盛り込まれています。この投稿では、リリースに先駆けていくつかのハイライトを紹介します。
過去3ヶ月間、インターンとしてGoogleロンドンのV8チームに参加し、新しいツールIndiciumの開発に取り組む機会を得て、とても素晴らしい学びの経験がありました。
このシステム解析ツールは、インラインキャッシュ (ICs) と Map がリアルワールドのアプリケーションでどのように生成・変更されるかのパターンをトレース、デバッグ、分析するための統一されたウェブインターフェイスです。
V8はすでにICsとMapsのトレーシングインフラを持っており、IC Explorerを使用してICイベントを分析し、Map Processorを使用してMapイベントを分析することができます。しかし、従来のツールではMapとICを総合的に解析することはできませんでしたが、システム解析ツールを使うことでこれが可能になりました。
スラック追跡は、新しいオブジェクトに実際に使用するサイズよりも大きな初期サイズを与える方法であり、これにより迅速に新しいプロパティを追加できます。そして一定期間後、使われていないスペースをシステムに魔法のように返却します。すごいでしょ?
私たちは6週間ごとに、新しいバージョンのV8をリリースプロセスの一環として作成します。各バージョンは、Chrome Beta のマイルストーン直前に V8 の Git マスターから分岐されます。本日は、新しいブランチ V8 バージョン 8.6を正式発表します。このバージョンは、数週間後に Chrome 86 Stable と連携してリリースされるまで Beta 段階にあります。V8 v8.6 には、開発者向けの様々な機能が詰め込まれています。この投稿ではリリースを前にそのハイライトの一部をプレビューします。