原文:深入V8引擎-引擎内部类管理解析

v 的初始化三部曲,前面花了三篇解决了第一步,由于只是生成了一个对象,第二步就是将其嵌入v 中,先看一下三个步骤。 第一步可以由用户自己手动实现platform,只要按照规范来继承对应基类,一般也不会有人搞吧。 这里的嵌入,如果用代码来进行解释,实际上是叫做 命名空间 。v 引擎的体量非常巨大,所以需要有完善的规范来管理各个类。如果完整的阅读过v 源码,可以发现v 对类的逻辑管理用到了两个方法,其 ...

2019-06-05 17:46 3 514 推荐指数:

查看详情

深入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引擎编程理解javascript执行环境

一、V8简介 google code上对它的解释如下: V8 is Google's open source JavaScript engine. V8 is written in C++ and is used in Google ...

Fri Feb 17 08:06:00 CST 2012 1 3848
编译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