zurĂŒck zum Artikel

WebAssembly-Interpreter Wasm3 Version 0.5 lÀuft auf Apple Silicon

Matthias Parbel

Das Update liefert neben allgemeinen Verbesserungen Multi-Value-Support, API-ErgÀnzungen und eine erweiterte Python-Integration.

Das Entwicklerteam hinter Wasm3 hat Version 0.5 des in C geschriebenen WebAssembly-Interpreters freigegeben. In das Update sind unter anderem zahlreiche Verbesserungen rund um das WebAssembly System Interface (WASI) eingeflossen, neue APIs sowie Multi-Value-Support hinzugekommen.

Das seit Anfang 2020 unter MIT-Lizenz auf GitHub [1] öffentlich zugĂ€ngliche Projekt erhebt den Anspruch, den schnellsten WebAssembly-Interpreter und die vielseitigste Runtime bereitzustellen. Neben den Betriebssystemen Linux, Windows, macOS, Android und iOS lĂ€uft Wasm3 auch auf verschiedenen Arduino- und Raspberry-Pi-Plattformen. Zu den Prozessorplattformen x86, x64, ARM, MIPS, RISC-V und Xtensa gesellt sich nun auch noch Apple Silicon. Der WebAssembly-Interpreter bietet in Version 0.5 nativen Support fĂŒr die M1-CPUs.

Über die erweiterten APIs stehen fĂŒr den Zugriff auf Globals nun m3_FindGlobal, m3_SetGlobal, m3_GetGlobal und m3_GetGlobalType zur VerfĂŒgung. Zum dynamischen Interpretieren von Wasm dient m3_InjectFunction. Die WASI-Verbesserungen decken beispielsweise wasi_snapshot_preview1-Support und den KompatibilitĂ€ts-Layer wasi_unstable ab. DarĂŒber hinaus liegt mit Wasm3 v0.5 ein festes Speicherlayout fĂŒr mehrere Strukturen vor.

Nachdem es dem Wasm3-Team im vergangenen Monat offenbar gelungen ist, eine Laufzeitumgebung zu bauen, in der sich der id-Software-Klassiker Doom ausfĂŒhren lĂ€sst, wurde pywasm3 samt Multi-Value- und Gas-Metering-Support sowie einiger PyGame-basierter Beispiele in ein eigenes Repository ausgelagert [2].

Mehr Details zu Wasm3 und den Neuerungen in Version 0.5 finden sich in den Release Notes im GitHub-Repo des Projekts [3].

(map [4])


URL dieses Artikels:
https://www.heise.de/-6062724

Links in diesem Artikel:
[1] https://www.heise.de/news/WebAssembly-Interpreter-Wasm3-ist-fertig-4636844.html
[2] https://github.com/wasm3/pywasm3
[3] https://github.com/wasm3/wasm3/releases/tag/v0.5.0
[4] mailto:map@ix.de