js 引擎 JavaScriptCore
16lz
2021-01-26
csdn lidp http://blog.csdn.net/perfectpdl
javascriptCore 为 webkit 提供的js引擎, 实现了 ECMAScript 262 标准。
虽然 谷歌的Chromium 浏览器用webkit作为渲染引擎,但是其js引擎用的是v8而不是javascriptCore,
android 上的浏览器默认也用V8作为js引擎。
JavaScriptCore 随webkit源码一起发布,在 Source/JavaScript 目录下
与大多数脚本引擎一样,javascriptCore 包含 词法解析器,语法解析器和解释器。
词法解析:负责对js代码 作词法解析,词法解析生成一系列 tokens, 词法解析代码在parser/Lexer.h和parser/Lexer.cpp目录下
语法分析:语法分析器分析词法分析器生成的tockens,生成语法树 , 代码在parser/JSParser.h和parser/JSParser.cpp.
解释器:解释器执行语法分析器生成的字节码,javascriptCore 有两种解释器,一个为基于字节码的,一个为jit的,前者在虚拟机中执行,后者生成的是本地代码,很明显后者会得到更快的执行速度,这种方式是V8默认使用的方式,解释器代码在interpreter/ 目录下,负责生成本地字节码的代码在jit/ 目录下。
更多相关文章
- Android(安卓)apk安装管理(PackageManagerService 分析)
- android studio 生成apk
- Android(安卓)ApiDemos示例解析(80):Graphics->Sweep
- 使用编译时注解方式实现View注入(Android(安卓)Studio)
- Android(安卓)的 dex2jar 和 jd-gui 反编译 apk 源代码
- Android(安卓)JSON
- android client随机验证码生成函数
- android OTA差分包的生成方法
- android AndroidManifest.xml文件解析