js 引擎 JavaScriptCore

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/  目录下。

相关推荐
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页