# V8 엔진
V8은 구글이 주도적으로 개발한 고성능의 자바스크립트&웹어셈블리 오픈소스엔진입니다.
C++로 작성되었으며, 대표적으로 크롬브라우저, node.js에서 사용합니다.
엔진은 주요 아키텍쳐인 x64, ARM을 지원합니다. 나머지는 비공식적으로 지원한다고 합니다.
V8은 JavaScript 소스 코드를 컴파일 및 실행하고 객체에 대한 메모리 할당을 처리하며, 가비지 콜렉터를 동작시킵니다.
DOM API는 V8의 스펙이 아니고, 브라우저에서 구현해야하는 스펙입니다.
V8은 자바스크립트가 실행되는 런타임 환경을 제공합니다.
# JITC
초기 자바스크립트 엔진은 인터프리터로 동작했지만,
자바스크립트의 앱이 점점 커짐에 따라 실행속도가 점점 느려졌습니다.
그래서 최신 자바스크립트 엔진은 실행 속도를 높이기 위해 내부적으로 JIT(Just In Time) 컴파일을 사용합니다.
reference: https://v8.dev/docs
https://webkit.org/blog/3362/introducing-the-webkit-ftl-jit/