WebAssembly 런타임 제한 돌파: ZeroPerl의 비동기 구현
2025-02-11
대부분의 WebAssembly 런타임에서 exnref 지원이 부족하여 ZeroPerl을 사용할 수 없었던 저자는 불평하는 대신 문제를 해결하기로 했습니다. Binaryen의 Asyncify 기능을 활용하여 setjmp의 대체물을 처음부터 구현하여 libsetjmp의 호환성 문제를 우회했습니다. 공식 라이브러리를 제거하고 어셈블리 코드를 작성하고 wasm-opt로 최적화한 후 ZeroPerl은 Wasmer, Wasmtime 및 기타 WebAssembly 런타임에서 성공적으로 실행됩니다. 이 돌파구는 완전히 샌드박스화되고 자체적으로 포함된 Perl WebAssembly 모듈을 제공합니다.
개발