본문 바로가기
  • 저희는 평생 개발할 운명이걸랑요
Tech.log/프론트엔드

[자바스크립트 엔진이 코드를 실행하는 과정]

by SpaciousKitchen 2021. 4. 30.

자바스크립트 웹 페이지에 생동감을 주기 위해 만들어진 언어다.

따라서 웹 페이지에 내장된 자바스크립트 엔진에 의해서 동작한다.

 

 

 

엔진의 종류는 다양한데 특유마다의 코드를 가지고 있다.


V8 – Chrome과 Opera에서 쓰입니다.

SpiderMonkey – Firefox에서 쓰입니다.

IE는 버전에 따라 'Trident’나 'Chakra’라 불리는 엔진을 사용합니다. 'ChakraCore’는 Microsoft Edge에 사용되며, 'SquirrelFish’는 Safari에 사용됩니다.

 

 

엔진의 동작 순서

  1. 엔진(브라우저 내장 엔진)이 스크립트를 읽는다.(파싱)
    1. 파싱하면서 AST를 기반으로 바이크 코드를 생성한다.
    2. 인터프리터가 바이트 코드를 실행할때 자주 사용되는 함수 및 타입 정보등이 있는 프로파일링 데이터와 최적화된 컴파일러에게 보낸다.
    3. 최적화된 컴파일러는 프로파일링을 기반으로 최적화된 코드를 작성한다.
  2. 읽어드린 스크립트를 기계어로 전환한다.(컴파일)
  3. 기계어로 전환된 코드가 실행된다. 기계어로 전환되었기 때문에 실행 속도가 빠르다.

 

엔진은 각 단계마다 최적화를 진행한다. 이러한 과정을 거치면서 속도가 더 빨라진다.

 

 

 

 

댓글