ESMAScript
와 WebAssembly
를 표준에 맞게 구현Parser
에 넘긴다Parser
는 코드를 분석후 AST(추상구문트리)
로 변환시키고 Interpreter Ignition(점화기)
에 넘긴다Interpreter Ignition
은 자바스크립트를 바이트 코드
로 변환하는 인터프리터이다바이트 코드
가 실행되며 소스코드가 작동되고 자주쓰는 코드는 Compiler TurboFan
으로 보내서 Optimized Machine Code(최적화된 머신코드)
로 다시 컴파일된다
바이트코드(Bytecode, portable code, p-code)
는 특정 하드웨어가 아닌 가상 컴퓨터에서 돌아가는 실행 프로그램을 위한 이진 표현법이다. 하드웨어가 아닌 소프트웨어에 의해 처리되기 때문에, 보통 기계어보다 더 추상적이다.Deoptimzing
하기도 한다Interpreter Ignition
와 Compiler TurboFan
만을 이용하여 바이트 코드 <-> 최적화 코드
사이를 왔다가 갔다 하는 것
Full-codegen
과 Crankshaft
는 더 이상 사용 되지 않는다🚀⚙️ JavaScript Visualized: the JavaScript Engine