原创出处:www.anquanke.com/post/id/253…
V8是chrome核心组件,重要程度不用多言。本系列文章,讲解V8源码,力求做到全面覆盖知识点、有理论高度,做到细致讲解代码、有实践依据。
本篇内容
本次是第二篇,主要内容是从宏观上概述V8的运行过程,包括:初始化、编译代码、运行、退出。面对V8这个庞大的系统工程,本文尽力为读者构建一个全面的大局观,从程序源码的角度揭示V8代码的主要脉络,达到快速入手的目的。本文想给读者的“大局观”是:知道V8是怎么运行的,了解V8运行过程中的几个重要中间阶段、重要中间结果、以及相应的重要数据结构。为此,本文从Javascript代码的两个主要阶段编译和执行的知识点出发,以V8源码中的重要数据结构抽象语法树(AST)和字节表(Bytecode)为抓手展开全面、宏观的讲解。
1 V8运行过程
以v8\samples\hello-world.c为例,这个例子我曾反复说过,它是运行V8功能的最小代码集合,只包含了V8的最重要最基本的功能,适合入门。例如,徒增学习难度的优化编译功能,在这个例子中就没出现,优化编译是V8最重要的部分,是提升性能的关键,但对初学者并没有用,所以说只有基础功能的hello-world最适合入门。
...... ......
文章排版很费事,请移步原创位置:www.anquanke.com/post/id/253…
微信:qq9123013 备注:v8交流学习 邮箱:v8blink@outlook.com