首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
书生小龙
掘友等级
前端
|
野生码农
V8引擎翻译中 关注github.com/pflhm2005
关注
私信
获得徽章 0
动态
文章
专栏
沸点
收藏集
1
关注
赞
14
文章 14
沸点 0
资讯 0
赞
14
关注
返回
|
搜索文章
文章
热门
最新
书生小龙
3年前
V8
用JavaScript带你体验V8引擎解析标识符
上一篇讲了字符串的解析过程,这一篇来讲讲标识符(IDENTIFIER)的解析。 先上知识点,标识符的扫描分为快解析和慢解析,一旦出现Ascii编码大于127的字符或者转义字符,会进入慢解析,略微影响速度,所以最好不要用中文、特殊字符来做变量名(不过现在代码压缩后基本不会有这种情…
819
2
评论
书生小龙
3年前
V8
用JavaScript带你体验V8引擎解析字符串
AST模块其实要写的话,100篇都写不完,我将一些简单知识点翻译成JavaScript代码来进行讲解(v8内部的复杂性永远都能超出我的意料,现在看到万行的源码都已经没感觉了),如果想看C++源码,可以去翻我前面的流水账。 先写几个结论。 抽象语法树内部有严格的分类,比如继承于A…
1389
13
4
书生小龙
3年前
V8
深入V8引擎-AST(6)
花了5篇才把一个字符串词法给解析完,不知道要多久才能刷完整个流程,GC、复杂数据类型的V8实现那些估计又是几十篇,天呐,真是给自己挖了个大坑。 前面几篇实际上只是执行了scanner.Initialize方法,并未开始全面解析,继续跑流程。 后面的方法域都在Parser类下,毕…
1429
点赞
评论
书生小龙
3年前
V8
深入V8引擎-AST(5)
日啊,头条福报有点修不动了。 由于是解析字符串,所以在开始之前介绍一下词法结构体中关于管理字符串类的属性。之前在TokenDesc中,有两个属性,如下。 当时没有详细讲,主要也是比较麻烦,在这里介绍一下该类。 其实原理非常简单,用一个Vector容器去装字符,如果容量不够,会进…
417
1
评论
书生小龙
3年前
V8
深入V8引擎-AST(4)
上一篇基本上花了一整篇讲完了scanner的Init方法,接下来就是Scan了,Init的方法基本上都是在Stream类下操作,但是本节回到了scanner层级。 虽然这里只有简简单单的两步(砍掉了所有的CHECK和DEBUG内容),但这个ScanSingleToken已经够讲…
807
点赞
评论
书生小龙
3年前
V8
深入V8引擎-AST(3)
注意,这不是调用静态方法。实际上Parser实例生成的时候也把scanner属性初始化了,所以这里可以直接用。 实际上,就是初始化了scanner上的source_属性与模块的flag,以便调用Initialize方法。 这个方法有点类似于libuv的异步操作,不过当然完全不是…
360
点赞
评论
书生小龙
3年前
V8
深入V8引擎-AST(2)
先声明一下,这种长系列的大块头博客只能保证尽可能的深入到每一行源码,有些代码我不乐意深究就写个注释说明一下作用。另外,由于本地整理的比较好,博客就随心写了。 整个Compile过程目前只看到asmjs之前,简单的过了几遍,大部分方法没有点进去看,实在是太复杂了。上一篇的结尾指出…
562
1
2
书生小龙
3年前
V8
深入V8引擎-AST(1)
JavaScript源字符串=>AST过程涉及模块涉及模块简介ParseInfo作为编译信息的描述文件,包含源字符串与一些配置参数Parsing此模块仅仅是命名空间,非常规类,包含ParseProgr
660
点赞
评论
书生小龙
3年前
V8
深入V8引擎-枚举+位运算实现参数配置
不知不觉都快月底了,看了看上一篇还是6号写的,惭愧惭愧,说好的坚持。为了证明没有偷懒(其实还是沉迷了一会dota2),先上一个图自证清白。 基本上从初始化引擎,到Isolate、handleScope、Context一直到编译其实都有记录,但是实在是无从下手。虽说我的博客也没有…
231
2
1
书生小龙
3年前
V8
深入V8引擎-初始化之InitPlatform
上一篇其实想讲初始化的第二步,但是内容比较无聊,所以换了一个话题,谈了谈v8的命名空间和宏,稍微轻松一下。 在这里还是接着说说初始化过程,毕竟写博客的初衷是对自己努力的记录,不是为了吸粉,这篇没图,对代码本身没有兴趣的可以跳过了。 再多说几句,讲一下我怎么看的源码吧。源码的一些…
782
2
评论
下一页
个人成就
文章被点赞
76
文章被阅读
15,928
掘力值
693
关注了
14
关注者
126
收藏集
1
关注标签
14
加入于
2016-12-15
温馨提示
当前操作失败,如有疑问,可点击申诉