Wasmtime 47, GC와 예외 지원을 기본으로 켜다
GC and Exceptions in Wasmtime
Bytecode Alliance가 개발한 WebAssembly 런타임 Wasmtime 47 릴리스에서 Wasm GC(가비지 컬렉션)와 예외 처리 제안을 기본으로 활성화했습니다. 이는 객체 지향 언어와 예외를 사용하는 언어가 WebAssembly를 더 쉽고 효율적으로 타겟팅할 수 있게 해주는 주요 이정표입니다. Wasmtime은 GC 힙을 위해 Cheney 스타일의 반공간 복사 수집기를 구현했으며, 선형 메모리를 재사용하여 샌드박스와 이식성을 확보했습니다. 또한 퍼징 인프라를 확장하여 수집기의 정확성을 검증했습니다. 현재는 성능보다는 정확성에 중점을 두고 있으며, 향후 컴포넌트 모델과의 GC 통합을 계획하고 있습니다.
Wasmtime의 GC 힙은 선형 메모리를 재사용하여 구현되므로, 수집기 버그로 힙이 손상되더라도 악의적인 Wasm 프로그램이 샌드박스를 벗어나 호스트 메모리에 접근할 수 없습니다.