LLVM: Webkit bekommt schnellere Javascript-Engine
Mit einer sehr ausführlichen Beschreibung(öffnet im neuen Fenster) kündigt das Webkit-Team offiziell die neue Javascript-Engine FTL an. Der Name steht für Fourth Tier LLVM, denn die neue Engine JIT-kompiliert(öffnet im neuen Fenster) Javascript mittels LLVM und stellt damit eine vierte Möglichkeit bereit, wie Javascript innerhalb von Webkit verarbeitet wird. Diese sind alle für verschiedene Anwendungsfälle optimiert.
FTL ist entstanden, weil die Apple-Entwickler feststellten, dass eine weitere Verbesserung des DFG-Backends nicht praktikabel sei. Mit FTL verfolgen sie das Ziel, C-artige Optimierungen auf die Javascript-Kompilierungen zu übertragen. Dazu verwendeten sie bestehende Teile aus dem Javascript-Core wieder, setzen aber auch auf die Optimierungen, die LLVM bietet.
Statt wie bisher den Maschinen-Code über DFG zu erzeugen, geschieht dies nun mit LLVM, wobei sämtliche Idiome von Javascript in die LLVM-IR überführt werden. In eigenen Benchmarks zeigen die Entwickler Geschwindigkeitssteigerungen um bis zu 40 Prozent. Möglich macht das aber nicht allein das neue Javascript-Backend, vielmehr hat das Team auch einige Veränderungen an LLVM selbst vorgenommen.
So ist es nun etwa möglich, während eine Funktion ausgeführt wird, diese gegen ihren mit LLVM optimierten Code auszutauschen. Darüber hinaus unterstützte LLVM bisher keinen sich selbst verändernden Code. Zur Beschleunigung trägt ebenso die Integration von LLVM in den Webkit-eigenen Garbage Collector bei. Die Ideen für diese Art der Speicherbereinigung sind etwa 25 Jahre alt und stammen ursprünglich von DEC.
FTL ist seit etwa zwei Wochen(öffnet im neuen Fenster) im Hauptentwicklungszweig von Webkit vorhanden und steht bisher nur iOS- und Mac-OS-X-Nutzern bereit. Noch lassen sich aber nicht alle Javascript-Operation mit FTL kompilieren und weitere Leistungssteigerungen seien ebenso noch möglich, betonen die Entwickler. Die neue Technik lässt sich mit den Nightly-Builds von Webkit testen.
- Anzeige Hier geht es zum Handbuch für Softwareentwickler bei Amazon Wenn Sie auf diesen Link klicken und darüber einkaufen, erhält Golem eine kleine Provision. Dies ändert nichts am Preis der Artikel.



