1.定义
V8是用C++编写的Google开源高性能JavaScripti和WebAssembly引擎,它用于Chrome和Node,js等。
它实现ECMAScript和WebAssembly,并在Windows7或更高版本,macOS10.12+和使用x64,lA-32,ARM或MIPS处理器的Linux系统上运行,
V8可以独立运行,也可以嵌入到任何C++应用程序中。
跨平台;
2.流程
js code-parse-ast-inition-turbofan-bytecode-Machinecode-result
inition 将转化为bytecode;当发现一部分函数被重复调用很多次,就会被标记成热点函数`;
由TurboFan将其直接转化成机器码去执行;
官方流程图
关于scanner:
- 功能:词法分析
- 字符序列转换成token序列;
- token——记号化;
- 词法分析器也叫扫描器scanner;
- 补充 :语法分析
- 解析功能;