原文:深入V8引擎-Time核心方法之mac篇

由于底层逻辑实现不同操作系统区别很大,所以干脆分篇来说。 主要讲一下Time TimeTicks两个类里面对于时间戳的实现,其余的运算符重载 边缘工具方法就不看了,先是Time。 Time 类本身的说明在上一篇有,这里就去掉了。 从注释可知,这里的Now是返回国际时间戳的通用方法,但是操作系统可能会对返回值做修正,所以是有一定风险的。第二个NowFromSystemTime使用的系统时间比较准确 ...

2019-05-24 16:23 1 425 推荐指数:

查看详情

深入V8引擎-Time核心方法之win(1)

  上一的源码看得十分无趣,官方文档跟黑心棉一样渣。   这一讲讲windows操作系统上的时间戳实现,由于类的声明,方法解释上一都贴过了,所以这次直接上对应版本的代码。   windows与mac很不一样,实现了一个新的Clock类来管理时间,如下。   从注释 ...

Tue May 28 09:28:00 CST 2019 0 560
深入V8引擎-AST(1)

  没办法了,开坑吧,接下来的几篇会讲述JavaScript字符串源码在v8中转换成AST(抽象语法树)的过程。   JS代码在V8的解析只有简单的几步,其中第一步就是将源字符串转换为抽象语法树,非常类似于vue中将html转换为VNODE的过程。该过程涉及的类并不多,均位于/src ...

Mon Jul 01 20:43:00 CST 2019 0 814
深入V8引擎-AST(2)

  先声明一下,这种长系列的大块头博客只能保证尽可能的深入到每一行源码,有些代码我不乐意深究就写个注释说明一下作用。另外,由于本地整理的比较好,博客就随心写了。   整个Compile过程目前只看到asmjs之前,简单的过了几遍,大部分方法没有点进去看,实在是太复杂了。上一的结尾指出了AST ...

Tue Jul 02 19:58:00 CST 2019 0 410
为什么V8引擎这么快?

目录(?)[-] 高速引擎的需求 语言本身的问题 JIT编译 JIT Compile 垃圾回收管理 内嵌缓存inline cache 隐藏类 内嵌缓存Inline Cache 机器语言的特性 附录熟悉OOP的程序员之参考 ...

Mon Sep 23 14:18:00 CST 2013 22 583
深入V8引擎-初始化之InitPlatform

上一其实想讲初始化的第二步,但是内容比较无聊,所以换了一个话题,谈了谈v8的命名空间和宏,稍微轻松一下。 在这里还是接着说说初始化过程,毕竟写博客的初衷是对自己努力的记录,不是为了吸粉,这篇没图,对代码本身没有兴趣的可以跳过了。 再多说几句,讲一下我怎么看的源码吧。源码的一些方法涉及 ...

Fri Jun 07 00:02:00 CST 2019 0 473
深入V8引擎-编译启动

记录一下步骤,方便以后换了电脑重新编译。 1、搞定depot_tools,git地址:git clone https://chromium.googlesource.com/chromium/too ...

Mon May 20 01:15:00 CST 2019 2 699
编译v8引擎

引言 我们都知道谷歌浏览器chrome采用的javascript引擎v8,node.js这样的runtime能够火遍全球,很大一部分功劳得归于v8。半年前就想自己编译v8引擎玩玩,无奈***阻挠了大部分下载,实在是体验太差,于是放弃。今天重新编译v8,先把代码从墙外的vps下载下来,再用tar ...

Tue Jun 23 04:27:00 CST 2020 0 805
V8引擎嵌入指南

,以及如何将V8引擎作为一个独立的虚拟机来使用。本文将进一步讨论这些概念,并介绍其他有关V8引擎嵌入C++ ...

Tue Aug 20 23:37:00 CST 2013 0 4243
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM