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)이다.

빌드

응용

reference

Comments