AI 요약
게임보이 에뮬레이터 'WATaBoy'가 SM83 CPU 명령어를 WebAssembly(WASM)로 JIT 변환하는 방식을 도입해 네이티브 인터프리터보다 빠른 성능을 입증했다. iOS의 JIT 제한을 우회하기 위해 웹브라우저의 JavaScriptCore JIT 엔진을 활용하는 방식으로, 기존에는 콘솔 에뮬레이터에서 시도되지 않은 접근법이다. 학부 졸업 프로젝트로 개발되었으며, Rust 기반의 WASM 코드 생성과 late-linking 기술이 핵심이다.
핵심 포인트
- iOS는 JIT 컴파일을 금지하지만 웹브라우저(JavaScriptCore)는 예외적으로 허용
- 게임보이 SM83 명령어를 WASM 바이트코드로 변환 후 브라우저가 네이티브 코드로 재컴파일
- GameRoy의 사이클 정확도 최적화 기법(x86 대상)을 WASM JIT에 적용
- 학부 졸업 프로젝트로 개발, 기존 JIT-to-Wasm 프로젝트(Jiterpreter, v86)와 차별화
향후 전망
- 이 기술이 검증되면 iOS에서 Dolphin(게임큐브/위) 같은 고성능 에뮬레이터 실행 가능성 열림
출처:hackernews
