Ray Book

JavaScript 엔진의 내부

코드가 문자열에서 실행 결과가 되기까지 — V8 엔진의 파이프라인을 따라가봅니다

  1. 01

    소스 코드에서 토큰으로

    JavaScript 엔진이 코드 문자열을 의미 있는 조각으로 쪼개는 첫 번째 단계, 토크나이징을 시각화합니다

  2. 02

    토큰에서 AST로

    파서가 평면적인 토큰 스트림을 트리 구조로 변환하는 과정을 단계별로 시각화합니다

  3. 03

    AST에서 바이트코드로

    V8의 Ignition 인터프리터가 AST를 바이트코드로 컴파일하고 실행하는 과정을 시각화합니다

  4. 04

    바이트코드 실행과 최적화

    Ignition의 바이트코드 해석, TurboFan의 JIT 컴파일, 그리고 역최적화까지 — V8의 실행 파이프라인을 시각화합니다

  5. 05

    Hidden Class와 인라인 캐시

    V8이 동적 타입 언어의 프로퍼티 접근을 어떻게 빠르게 만드는지 — Hidden Class, 전이 체인, IC의 상태 변화를 시각화합니다

  6. 06

    메모리와 가비지 컬렉션

    V8의 힙 구조, 세대별 가비지 컬렉션, 그리고 GC 일시정지를 최소화하는 전략을 시각화합니다