Bytecode fürs Web: Webassembly wird in V8-Engine implementiert

Branchenübergreifend haben Mozilla, Google, Microsoft und Apple mit dem Projekt Webassembly (Wasm) im vergangenen Sommer die Idee eines Bytecodes für das Web vorgestellt. Damit sollen Anwendungen etwa in C oder C++ geschrieben und nach Wasm kompiliert werden können. Browser sollen dies dann nativ ausführen, weshalb das V8-Team Wasm nun in der bisherigen Javascript-Engine für Chrome implementieren will.
Wie der Entwickler Ben Titzer in der Ankündigungsmail(öffnet im neuen Fenster) schreibt, ergeben sich mehrere Vorteile daraus, dass V8 neben Javascript künftig auch für Wasm genutzt werden soll. So könne die neue Wasm-Engine direkt Zwischencode (IR) für den Turbofan-Compiler erzeugen. Damit könne der JIT-Compiler mit seinen Laufzeitkomponenten wiederverwendet werden.
Darüber hinaus könnten durch die Integration in V8 Funktionsaufrufe zwischen Wasm und Javascript schnell durchgeführt werden. Ebenso könne die Javascript-API, um auf Wasm-Funktionen zuzugreifen, direkt in V8 untergebracht werden. Letztlich seien fast alle an der Implementierung Beteiligten stark in die Entwicklung von V8 involviert, nicht zuletzt der Compilerexperte Titzer selbst.
Mit der Umsetzung von Wasm in V8 ist es sehr wahrscheinlich, dass der Code mittelfristig auch in den Chrome-Browser eingepflegt werden wird. Von der Aufnahme in V8 könnten aber auch andere Projekte profitieren, welche die Engine benutzen. Am bekanntesten ist dabei wohl Node.js. Eine Integration in Node würde eine vergleichsweise leichte Verwendung von Wasm auf Servern ermöglichen. Ob es dazu kommt, ist zurzeit aber noch nicht abzusehen.