花费 20 ms
用JavaScript带你体验V8引擎解析字符串

AST模块其实要写的话,100篇都写不完,我将一些简单知识点翻译成JavaScript代码来进行讲解(v8内部的复杂性永远都能超出我的意料,现在看到万行的源码都已经没感觉了),如果谁想看C++源码,就 ...

Wed Jul 10 23:40:00 CST 2019 0 979
深入V8引擎-AST(1)

  没办法了,开坑吧,接下来的几篇会讲述JavaScript字符串源码在v8中转换成AST(抽象语法树)的过程。   JS代码在V8的解析只有简单的几步,其中第一步就是将源字符串转换为抽象语法树,非 ...

Mon Jul 01 20:43:00 CST 2019 0 814
用JavaScript带你体验V8引擎解析标识符

上一篇讲了字符串的解析过程,这一篇来讲讲标识符(IDENTIFIER)的解析。 先上知识点,标识符的扫描分为快解析和慢解析,一旦出现Ascii编码大于127的字符或者转义字符,会进入慢解析,略微影响 ...

Fri Aug 09 01:21:00 CST 2019 0 646
深入V8引擎-编译启动

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

Mon May 20 01:15:00 CST 2019 2 699
深入V8引擎-引擎内部类管理解析

v8的初始化三部曲,前面花了三篇解决了第一步,由于只是生成了一个对象,第二步就是将其嵌入v8中,先看一下三个步骤。 第一步可以由用户自己手动实现platform,只要按照规范来继承对应 ...

Thu Jun 06 01:46:00 CST 2019 3 514
V8源码边缘试探-黑魔法指针偏移

  这博客是越来越难写了,参考资料少,难度又高,看到什么写什么吧!   众多周知,在JavaScript中有几个基本类型,包括字符串、数字、布尔、null、undefined、Symbol,其中大部 ...

Mon Jul 16 23:41:00 CST 2018 0 1091
深入V8引擎-初始化默认Platform

  本来寻思着写一篇"'Hello' + ', World'"是怎么从JS代码编译然后输出的,然而compile过程的复杂性远超我的想象,强上怕会走火入魔,还是老老实实先回家种田,找点咸鱼方法先写着。 ...

Mon Jun 03 05:34:00 CST 2019 0 612
深入V8引擎-Time核心方法之win篇(1)

  上一篇的源码看得十分无趣,官方文档跟黑心棉一样渣。   这一篇讲讲windows操作系统上的时间戳实现,由于类的声明,方法解释上一篇都贴过了,所以这次直接上对应版本的代码。   wind ...

Tue May 28 09:28:00 CST 2019 0 560
深入V8引擎-初始化之InitPlatform

上一篇其实想讲初始化的第二步,但是内容比较无聊,所以换了一个话题,谈了谈v8的命名空间和宏,稍微轻松一下。 在这里还是接着说说初始化过程,毕竟写博客的初衷是对自己努力的记录,不是为了吸粉,这篇没图, ...

Fri Jun 07 00:02:00 CST 2019 0 473
深入V8引擎-Time核心方法之mac篇

  由于底层逻辑实现不同操作系统区别很大,所以干脆分篇来说。   主要讲一下Time、TimeTicks两个类里面对于时间戳的实现,其余的运算符重载、边缘工具方法就不看了,先是Time。 T ...

Sat May 25 00:23:00 CST 2019 1 425

 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM