V8 프로젝트 분석
What is V8?
V8은 구글에서 만든 Javascript와 WebAssembly 엔진이다. 오픈소스이며 C++로 작성되었다. Chrome과 Node.js에 사용된다. ECMAScript와 WebAssembly를 구현하고 x64, IA-32, ARM, MIPS 프로세서를 사용하는 윈도우7, macOS 10.12, Linux에서 작동한다. 단독으로 작동 가능하며(standalone), C++ 애플리케이션에 내장되어서도 실행 가능하다.
WebAssembly
Modern web browser에서 실행될 수 있는 새로운 종류의 코드이다. Native code에 가까운 성능을 내며 C/C++, C#, Rust와 같은 언어를 제공하는 Low level assembly-like language이다. Compact binary format을 따르며 web에서 실행되기 위해 compilation target을 가진다. Javascript와 함께 실행되도록 설계되었다.
ECMAScript
서로 다른 웹 브라우저에서 웹 페이지들이 동일하게 작동하도록 보장하기 위해 만들어진 Javascript 표준이다.
Native code
Native code는 특정 프로세서에서 실행가능하도록 컴파일된 binary data이다. 0과 1로만 이루어져있으며 특정 ISA에 정의된 기능을 수행하는 명령어(instruction)이다.
Comments