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.
(Bild: fuyu liu/Shutterstock.com)
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.
Zeitersparnis durch Batch-Kompilierung
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.
Videos by heise
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.
Android: Webseitenisolierung gegen Spectre-Attacken
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)