Dépassement des limitations d'exécution de WebAssembly : implémentation asynchrone de ZeroPerl

2025-02-11
Dépassement des limitations d'exécution de WebAssembly : implémentation asynchrone de ZeroPerl

Frustré par le manque de prise en charge d'exnref dans la plupart des environnements d'exécution WebAssembly, rendant ZeroPerl inutilisable, l'auteur a décidé de résoudre le problème au lieu de se plaindre. En tirant parti de la fonctionnalité Asyncify de Binaryen, un remplacement pour setjmp a été implémenté à partir de zéro, contournant les problèmes de compatibilité de libsetjmp. Après avoir supprimé la bibliothèque officielle, écrit du code assembleur et optimisé avec wasm-opt, ZeroPerl s'exécute désormais correctement dans Wasmer, Wasmtime et d'autres environnements d'exécution WebAssembly. Cette percée fournit un module Perl WebAssembly entièrement isolé et autonome.

Développement