JavaScript-Engine: V8 9.3 erhöht Sicherheit und Performance auf Android

Google reduziert in V8 9.3 die Compile-Zeit durch Batch-Kompilierung und widmet sich dem Spectre-Schutz auf Android.

In Pocket speichern vorlesen Druckansicht 1 Kommentar lesen

(Bild: fuyu liu/Shutterstock.com)

Lesezeit: 2 Min.
Von
  • Maika Möbus

Die Open-Source-Engine V8 steht in Version 9.3 bereit. Die von Google entwickelte Engine für JavaScript und WebAssembly bringt sowohl eine neue Kompilierungsmethode für den JavaScript-Compiler Sparkplug als auch Android-Neuerungen mit. Wie gewohnt befindet sich V8 9.3 bis zum stabilen Release von Chrome 93 im Beta-Status.

Nachdem V8 9.2 das Speichermanagement überarbeitete, widmet sich Version 9.3 einer schnelleren Kompilierung: Sie bringt Batch-Kompilierung für Sparkplug mit, denn der sicherheitsrelevante Aufruf mprotect für jede einzelne kompilierte Funktion stellte bislang einen Engpass beim Kompilieren dar. Die Batch-Kompilierung soll laut Analysen des V8-Entwicklerteams die Kompilierungszeit unter Nutzung von Ignition und Sparkplug um bis zu 44 Prozent verringern.

Bereits seit Version 9.1 hat V8 den JIT-Compiler Sparkplug mit an Bord, der sich zwischen dem Low-Level Register-basierten Ignition-Interpreter und dem seit 2015 genutzten optimierenden Compiler TurboFan positioniert. Sparkplug soll der schnelleren Kompilierung dienen, indem es von Bytecode – nicht von JavaScript-Sourcecode – und zudem ohne Intermediate Representation (IR) direkt zu Maschinencode kompiliert.

Als Reaktion auf die Prozessor-Sicherheitslücke Spectre führte Chrome 2018 die Option Website-Isolierung ein, und seit Chrome 92 ist sie auch für Android auf vielen Seiten verfügbar, die sensible Daten enthalten. V8 9.3 deaktiviert in diesem Zuge die bisherige und nicht auf dauerhafte Nutzung ausgelegte Code Generation Mitigation und setzt ebenfalls auf Website-Isolierung auf Android. Das soll sowohl effektiver gegen Angriffe sein als auch die Benchmark-Performance auf Android verbessern.

Weitere Details zu V8 9.3 sind in einem Blogeintrag zu finden.

(mai)