JavaScript 엔진의 내부
코드가 문자열에서 실행 결과가 되기까지 — V8 엔진의 파이프라인을 따라가봅니다
- 01
소스 코드에서 토큰으로
JavaScript 엔진이 코드 문자열을 의미 있는 조각으로 쪼개는 첫 번째 단계, 토크나이징을 시각화합니다
- 02
토큰에서 AST로
파서가 평면적인 토큰 스트림을 트리 구조로 변환하는 과정을 단계별로 시각화합니다
- 03
AST에서 바이트코드로
V8의 Ignition 인터프리터가 AST를 바이트코드로 컴파일하고 실행하는 과정을 시각화합니다
- 04
바이트코드 실행과 최적화
Ignition의 바이트코드 해석, TurboFan의 JIT 컴파일, 그리고 역최적화까지 — V8의 실행 파이프라인을 시각화합니다
- 05
Hidden Class와 인라인 캐시
V8이 동적 타입 언어의 프로퍼티 접근을 어떻게 빠르게 만드는지 — Hidden Class, 전이 체인, IC의 상태 변화를 시각화합니다
- 06
메모리와 가비지 컬렉션
V8의 힙 구조, 세대별 가비지 컬렉션, 그리고 GC 일시정지를 최소화하는 전략을 시각화합니다