Quebrando as Limitações do Tempo de Execução do WebAssembly: Assificando o ZeroPerl

2025-02-11
Quebrando as Limitações do Tempo de Execução do WebAssembly: Assificando o ZeroPerl

Frustrado com a falta de suporte a exnref na maioria dos tempos de execução do WebAssembly, tornando o ZeroPerl inutilizável, o autor decidiu corrigir o problema em vez de reclamar. Ao aproveitar o recurso Asyncify do Binaryen, uma substituição para setjmp foi implementada do zero, contornando os problemas de compatibilidade do libsetjmp. Após remover a biblioteca oficial, escrever código de montagem e otimizar com wasm-opt, o ZeroPerl agora é executado com sucesso no Wasmer, Wasmtime e em outros tempos de execução do WebAssembly. Essa inovação oferece um módulo Perl WebAssembly totalmente isolado e autocontido.

Desenvolvimento