(1)《Chrome V8 源码》以后不在安全客发表了。新家正在装修中,请各位关注我的知乎和微信(在下方),文章发表后会转载到知乎。预计 10 天后发表新的文章,届时会在知乎上说明新家的地址。
(2) 视频课程即将上线,请关注我的知乎,期待您的光临。
知乎: www.zhihu.com/people/v8bl…
微信: qq9123013
感谢各位读者对我的支持,谢谢!
祝大家虎年大吉、虎虎生威!
=======================================
连载《Chrome V8源码》技术文章
内容特点
V8涉及的技术十分广泛,包括了操作系统、编译技术、计算机系统结构等多方面知识。《Chrome V8源码》系列文章从基础说起,对V8内存分配、Isolate创建、handles概念、builtin、codegen、编译等多方面进行详细讲解。本文章正在更新中,3~4天一篇。
本文章的讲解风格是直接面对V8源码、分析V8源码的执行过程和重要数据结构,力求为读者展示一个“活动”的V8引擎。
读者定位
想深入理解V8源码,从中学习优秀设计思想,亦或是做V8安全研究的读者,等等。总之,想读V8源码的读者,请进来看看。
文章位置
知乎 : www.zhihu.com/people/v8bl…
不足之处 文章中理论知识很少。我也想多讲解些理论,但个人能力和时间精力确实有限,无法做全面的讲解。文中有很多的不足与纰漏,欢迎批评指正。
最新的文章目录
46.BigInt的疑惑
45.JavaScript API 源码分析(1)
44.Runtime_StringToArray 源码、触发条件
43.Turbofan 源码分析
42.InterpreterEntryTrampoline 与优化编译
41.Runtime_StringTrim 源码、触发条件
40.Runtime substring 详解
39.String.prototype.split 源码分析
38.replace 技术细节、性能影响因素
37.String.prototype.match 源码分析
36.String.prototype.concat 源码分析
35.String.prototype.CharAt 源码分析
34.终级优化技术 Turbofan
33.Lazy Compile 的技术细节
32.字节码和 Compiler Pipeline 的细节
31.Ignition到底做了什么?(二)
30.Ignition到底做了什么?
29.CallBuiltin()调用过程详解
28.分析substring源码和隐式约定
27.神秘又简单的dispatch_table_
26.Bytecode Handler,字节码的核心
25.最难啃的骨头——Builtin!
24.编译5:SharedFunction与JSFunction的渊源
23.编译4:数据结构、重要的自动机
22.编译链3:Bytecode的秘密——常量池
21 编译链2:Token和AST,被忽略的秘诀
20.编译链1:语法分析,被遗忘的细节
19.V8 Isolate核心组件:编译缓存
18.利用汇编看V8,洞察看不见的行为
17.JS对象的内存布局与创建过程
16.运行时辅助类,详解加载与调用过程
15.运行时辅助类,给V8加钩子函数
14.看V8如何表示JS的动态类型
13.String类方法的源码分析
12.JSFunction源码分析
11.字节码调度 Dispatch机制
10.V8 Execution源码分析
9.Builtin源码分析
8.解释器Ignition
7.V8堆栈框架 Stack Frame
6.bytecode字节码生成
5.V8语法分析器源码讲解
4.V8词法分析源码讲解,Token字生成
3.看V8编译流程,学习词法分析
2.鸟瞰V8运行过程,形成大局观
1.V8环境搭建