《WebKit技术内幕》JavaScripty引擎-读书笔记
9.1.1 JavaScript语言
JavascriptCore引擎和V8引擎已经优化了效率,推动Javascript运行速度提高的另一大利器JIT(Just-In-Time)。
JavaScript作用域链和闭包
如果“add”函数上下文没有包含该变量,那么执行环境会不停向上查找,知道找遍全局上下文为止。
9.1.2 JavaScript引擎
先看C/C++语言
然后看 Python等脚本语言
然后看Java
最后回到JavaScript
9.1.3 JavaScript引擎和渲染引擎
9.1.4 V8引擎-代码结构
9.2.2.2 V8工作过程
工作过程:优点很明显,缺点有二。
9.2.2.3 优化回滚(Deoptimization)
9.2.2.4 隐藏类和内嵌缓存
9.2.2.5 V8-内存管理
一系列小内存的划分,Zone类,一次申请,同时释放 堆,同很多虚拟机一样,V8将堆分成三个部分,第一部分是年轻分代,第二个是年老分代,第三个是大对象
9.3 JavaScriptCore引擎
JavaScriptCore和V8引擎不同的是,JavaScriptCore引擎不是从抽象语法树生成本地代码,而是生成平台无关的字节码。