WebKit, Top-Level Await 버그를 고치기 위해 Safari 모듈 로더를 C++로 전면 재작성
시장 인사이트 · GeekNews · 2026.09.14
WebKit이 Safari의 Top-Level Await(TLA) 구현을 ECMAScript 명세에 맞추기 위해 기존 모듈 로더를 C++로 전면 재작성했습니다. 기존 방식은 과거 WHATWG Loader 제안을 기반으로 하여, ECMAScript 2022에서 도입된 TLA의 비동기 모듈 평가 알고리즘을 완벽히 지원하지 못해 'Cannot access ... before initialization'과 같은 오류를 발생시키는 문제가 있었습니다. 이를 해결하기 위해 WebKit은 기존의 Self-Hosted JavaScript 방식 대신 ECMAScript 명세를 기준으로 한 native C++ 구현 방식을 채택했습니다. 이번 재작성은 모듈 로딩의 안정성과 성능을 확보하기 위해 수행되었으며, Bun 엔지니어들의 테스트 케이스를 활용해 검증을 완료했습니다.