JavaScript-Engine: V8 9.1 bringt neues Template-Interface für Embedder
Google hält mit dem Update unter anderem Neuerungen für das Top-Level await sowie die Syntax zur Prüfung privater Brands bereit.
Für Googles JavaScript-Engine V8 liegt wenige Monate nach der neunten Hauptversion die Version 9.1 vor. Bis das nächste Chrome-Release unter der Versionsnummer 91 stabil ist, behält die aktuelle V8-Version den Beta-Status. Neben einem neuen Template-Interface für Embedder bringt das Update weitere Neuerungen für die Syntax zur Prüfung privater Brands.
Objektinstanzen klonen statt neu erstellen
Mit dem Update stellt die V8-API den Embeddern ein neues Template
-Interface zur Verfügung, über das sich neue Instanzen erstellen lassen. Das Klonen bestehender Objektinstanzen nimmt weniger Zeit in Anspruch als das Erstellen und Konfigurieren einer neuen Instanz. Die JavaScript-Engine greift auf eine zweistufige Cache-Strategie zurück – ein kleiner schneller Array-Cache und ein großer langsamer Dictionary-Cache –, um kürzlich erstellte Objekte anhand der Templates zu suchen und direkt zu klonen.
Bisher wurde der Cache-Index für Templates beim Erstellen der Vorlagen zugewiesen und nicht beim Einfügen in den Cache. Dadurch hat die Engine Platz im schnelleren Array-Cache auch für letztlich nicht instanziierte Templates reserviert.
await standardmäßig aktiv
V8 9.1 hält das Top-Level await
ab sofort standardmäßig aktiviert. Das bedeutet, dass Anwendungen den Befehl auch außerhalb einer async
-Funktionen verwenden können, allerdings nur auf der obersten Modulebene. Der Einsatz in Skripten oder innerhalb von Funktionen ohne async
ist nicht gestattet. Damit entfällt die Notwendigkeit für den Kommandozeilenparameter --harmony-top-level-await
. Auch die Syntax zur Prüfung privater Brands ist ab sofort per Default aktiviert, ohne dass --harmony-private-brand-checks
erforderlich ist. Diese Funktion soll den in
-Operator auf die Weise erweitern, dass er auch mit den #
-Namen von privaten Feldern funktioniert.
Nähere Informationen zur neuen Version der JavaScript-Engine finden sich im Beitrag auf dem V8-Blog.
(mdo)