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

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

In Pocket speichern vorlesen Druckansicht
Lesezeit: 2 Min.

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 ö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.

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

(map)