TIL 9/6

개발(공부) 자국·2021년 9월 6일
0

자바스크립트 V8 엔진

브라우저를 알아보다가 V8 엔진에 대해서 찾아보게 되었다.
V8 엔진은 자바스크립트 코드와 Web Assembly를 실행하는 역할을 한다.
V8 엔진의 더 많은 역할이 있지만 오늘은 코드를 실행하는 과정을 살펴보았다.

작동 과정

source code -> parser -> AST -> Ignition -> Byte Code
                                    |           |
                               	TurboFan -> Optimized Code

이런 순서로 작동된다.

parser

html이 parsing 되다가 head의 script를 서버에 요청하고 소스코드를 받게 된다. 이때 받은 파일을 parser가 소스코드를 어휘분석을 하고 토큰을 생성한다. 여기서 토큰은 자바스크립트의 구문 규칙에 따른 어휘 분석의 결과로 만들어진 파편으로 이를 통해 AST를 생성한다.

AST

Abstract Syntax Tree로 추상 구문 트리라고 한다. 이것은 소스코드를 구조화하여 자료구조로 만들어 둔 결과다. 소스코드보다 더 컴퓨터에 가까운 형태다.

Ignition

AST를 실행할 수 있게 바이트 코드로 전환하는 과정을 말한다. 이때 자주 사용하는 코드들은 TurboFan 컴파일러로 최적화코드를 만들어서 실행하게 된다.

이런 과정을 거친다.

느낀점

아직은 세부적인 내용을 모두 파악하기에는 배경지식과 경험이 적어서 어려움이 있었다. 지금은 어떤 흐름인지 알고 넘어가는 것이 좋은 것 같다. 어렵기는 했지만 재미있었다. 최적화를 많이 했다는 것도 알게되었고 어떤 흐름인지는 조금 감을 잡았다. 어렵긴 해도 조금은 자바스크립트를 알아가고 있는 것 같다.

profile
기록을 중요하게 생각하는 사람입니다. 학습한 내용을 정리한 것이라 잘못된 정보가 있을 수 있습니다. 잘못된 정보는 언제든 말씀해 주시기 바랍니다.

0개의 댓글