자바스크립트를 실행하기 위해서는 자바스크립트 엔진이 필요하고, 웹 브라우저는 자바스크립트 엔진을 내장하고 있다. 각 브라우저 마다 엔진은 다르지만 실행 방식은 비슷하기 때문에, 보통은 어떻게 실행하는지를 알아보자...
- 소스코드를 만다면 파싱하여 AST(Abstract Syntax Tree)로 변환한다.
- 인터프리터는 AST를 기반으로 바이트코드를 생성한다.
- 인터프리터가 바이트코드를 실행할 때, 자주 사용되는 함수 및 타입 정보 등이 있는 프로파일링 데이터와 같이 최적화 컴파일러에게 보낸다.
- 최적화 컴파일러는 프로파일링 데이터를 기반으로 최적화된 코드를 생성한다.
- 하지만, 프로파일링 데이터 중에 잘못된 부분이 있다면 최적화 해제를 하고 다시 바이트 코드를 실행해서 이전 동작을 반복한다.