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.hparser/Lexer.cpp目录下

语法分析:语法分析器分析词法分析器生成的tockens,生成语法树 , 代码在parser/JSParser.hparser/JSParser.cpp.

解释器:解释器执行语法分析器生成的字节码,javascriptCore 有两种解释器,一个为基于字节码的,一个为jit的,前者在虚拟机中执行,后者生成的是本地代码,很明显后者会得到更快的执行速度,这种方式是V8默认使用的方式,解释器代码在interpreter/ 目录下,负责生成本地字节码的代码在jit/ 目录下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值