Superando las Limitaciones del Tiempo de Ejecución de WebAssembly: Asignación Asíncrona de ZeroPerl
2025-02-11
Frustrado por la falta de soporte exnref en la mayoría de los tiempos de ejecución de WebAssembly, lo que hacía que ZeroPerl fuera inutilizable, el autor decidió solucionar el problema en lugar de quejarse. Aprovechando la función Asyncify de Binaryen, se implementó una alternativa a setjmp desde cero, evitando los problemas de compatibilidad de libsetjmp. Después de eliminar la biblioteca oficial, escribir código de ensamblaje y optimizar con wasm-opt, ZeroPerl ahora se ejecuta correctamente en Wasmer, Wasmtime y otros tiempos de ejecución de WebAssembly. Este avance proporciona un módulo Perl WebAssembly completamente aislado y autónomo.
Desarrollo