首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
书生小龙
掘友等级
前端
|
野生码农
V8引擎翻译中 关注github.com/pflhm2005
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
14
文章 14
沸点 0
赞
14
返回
|
搜索文章
最新
热门
深入V8引擎-引擎内部类管理解析
v8的初始化三部曲,前面花了三篇解决了第一步,由于只是生成了一个对象,第二步就是将其嵌入v8中,先看一下三个步骤。 第一步可以由用户自己手动实现platform,只要按照规范来继承对应基类,一般也不会有人搞吧。 这里的嵌入,如果用代码来进行解释,实际上是叫做"命名空间"。v8引…
深入V8引擎-默认Platform之mac篇(2)
另外附一些图,包括继承树、关键属性归属、纯逻辑工作流程,对代码木得兴趣的看完图可以X掉了。 上一篇讲了V8初始化默认Platform对象时会做三件事,其中生成空白DefaultPlatform、获取线程池大小已经讲过了,剩下线程启动相关的内容。 写之前花了10几分钟学了下mac…
深入V8引擎-默认Platform之mac篇(1)
又到了常规的堆砌代码凑文章字数环节,很多API我就直接贴官方的英文释义,个人翻译其实有时候并不是很准确,搞错了甚至会误导,还是尽量自己去理解。 首先看看入口方法。 这里比较头疼的是我没找到NewDefaultPlatform方法是在哪里定义的,所以默认参数不知道是什么,只能打断…
深入V8引擎-初始化默认Platform(1)
本来寻思着写一篇"'Hello' + ', World'"是怎么从JS代码编译然后输出的,然而compile过程的复杂性远超我的想象,强上怕会走火入魔,还是老老实实先回家种田,找点咸鱼方法先写着。虽然说是咸鱼方法,但是V8任何一块拿出来都不简单,之前讲的Time模块说实话大概是…
深入V8引擎-Time核心方法之win篇(2)
这一篇讲windows系统下TimeTicks的实现。 对于tick,V8写了相当长的一段discussion来讨论windows系统上计数的三种实现方法以及各自的优劣,注释在time.cc的572行,这里直接简单翻译一下,不贴出来了。 CPU计数器拥有最高的分辨率,消耗也是最…
深入V8引擎-Time核心方法之win篇(1)
上一篇的源码看得十分无趣,官方文档跟黑心棉一样渣。 这一篇讲讲windows操作系统上的时间戳实现,由于类的声明,方法解释上一篇都贴过了,所以这次直接上对应版本的代码。 windows与mac很不一样,实现了一个新的Clock类来管理时间,如下。 从注释和方法名可以看出,win…
深入V8引擎-Time核心方法之mac篇
由于底层逻辑实现不同操作系统区别很大,所以干脆分篇来说。 主要讲一下Time、TimeTicks两个类里面对于时间戳的实现,其余的运算符重载、边缘工具方法就不看了,先是Time。 类本身的说明在上一篇有,这里就去掉了。 从注释可知,这里的Now是返回国际时间戳的通用方法,但是操…
深入V8引擎-Time模块介绍
积跬步,行千里,先从最简单的开始写。 这一篇介绍V8中的时间模块,与libuv粗糙的update_loop_time方法不同,V8有一套独立完整的类负责管理时间。 该类位于src/base/platform/time.h,是一个辅助模块,首先来看一下继承树。 整个模块的继承关系…
深入V8引擎-写在前面
这一篇不打算讲技术,聊点别的吧,写这个的原因主要是看到了我博客园的签名,开始这个最终源码系列前想说点什么。 我是一个转行的前端,之前做的游戏运营。 上面的每一句话都是一个非常艰辛的过程,作为一个211硕士,毕业之后一事无成,荒废了大概1年时间才决定转行做技术,为了弥补浪费的1年…
深入V8引擎-编译启动
记录一下步骤,方便以后换了电脑重新编译。 1、搞定depot_tools,git地址:git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git,弄完后设置为环境变量。 3、中间可能出现各…
下一页
个人成就
文章被点赞
75
文章被阅读
22,742
掘力值
729
关注了
14
关注者
128
收藏集
1
关注标签
14
加入于
2016-12-15