V8 档案馆
V8 引擎官方文档资料翻译。
关于 V8
V8 是 Google 基于 C++ 编写的开源高性能 Javascript 与 WebAssembly 引擎。用于 Google Chrome(Google 的开源浏览器) 以及 Node.js 等。
V8 实现了 ECMAScript 与 WebAssembly,能够运行在 Windows 7+、macOS 10.12+ 以及使用 x64、IA-32、ARM、MIPS 处理器的 Linux 系统。V8 能独立运行,也能嵌入到任何 C++ 应用当中。
V8 编译并执行 JavaScript 源代码,处理对象的内存分配,垃圾回收不再使用的对象。高效的垃圾收集器是 V8 高性能的关键之一。
JavaScript 通常用于编写浏览器中的客户端脚本,例如用于操作文档对象模型(DOM)对象。但是,DOM 通常不是由 JavaScript 引擎提供,而是由浏览器提供。V8 也是如此 - Google Chrome 提供了 DOM。但是,V8 提供了 ECMA 标准中规定的所有数据类型,运算符,对象和函数。
V8 允许 C++ 应用程序将自己的对象和函数公开给 JavaScript 代码。由您来决定要向 JavaScript 公开的对象和函数。
官方文档
Ignition
V8 具有一个称为 "Ignition" 的解释器。Ignition 是使用 TurboFan 的后端编写的基于寄存器的快速底层解释器。V8 博客文章对 Ignition 解释器做了 高级概述 的介绍。
TurboFan
TurboFan 是 V8 的优化编译器之一,它利用了一个称为 “节点之海” 的概念。V8 的一篇博客文章提供了 TurboFan 的高级概述。