# 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/