为了能够在Windows/Linux/macOS for x64上从头开始构建V8,请遵循以下步骤。

获取V8源代码
V8的Git存储库位于https://chromium.googlesource.com/v8/v8.git,GitHub上有官方镜像:https://github.com/v8/v8.git。
按照我们的指南中的说明得到V8源代码。

(base) [myhaspl@localhost ~]$ mkdir v8learn
(base) [myhaspl@localhost ~]$ cd v8learn
(base) [myhaspl@localhost v8learn]$ git clone https://chromium.googlesource.com/v8/v8.git
或者:
$git clone https://github.com/v8/v8.git

V8是在GN的帮助下制造的。GN是一种元构建系统,因为它为许多其他构建系统生成构建文件。因此,如何构建取决于所使用的“后端”构建系统和编译器。

下面的说明假设您已经获取了V8,并且已经安装了构建依赖项。

更多关于GN的信息可以在Chromium的文档或GN自己的文档中找到。

从源代码构建V8包括三个步骤:

生成编译文件

编译

运行测试

构建V8有两个工作流:

方便的工作流使用了一个名为gm的助手脚本,它很好地结合了这三个步骤

原始工作流,您可以在较低级别上手动为每个步骤运行单独的命令

gm是一个方便的多功能脚本,它可以生成构建文件,触发构建,还可以运行测试。可以在V8源码上tools/dev/gm.py上找到它。建议在shell配置中添加别名

alias gm=/path/to/v8/tools/dev/gm.py

然后可以使用gm为已知配置构建V8,例如x64.release:

gm x64.release

要在生成后立即运行测试,请运行:

gm x64.release.check

gm输出它正在执行的所有命令,以便在必要时跟踪和重新执行它们。

gm可以通过一个命令构建所需的二进制文件并运行特定的测试:

gm x64.debug mjsunit/foo cctest/test-bar/*

javascript引擎V8精要(2)相关推荐

  1. javascript引擎V8精要(1)

    V8是谷歌的开源高性能JavaScript和WebSimulink引擎,用C++编写.它用于铬和铜节点.js,等等.它实现了ECMAScript和WebAssembly,并在使用x64.IA-32.A ...

  2. 雷军:小米推动山寨机灭亡;苹果回应禁止第三方换电池;Javascript 引擎 V8 7.7 发布 | 极客头条...

    快来收听极客头条音频版吧,智能播报由标贝科技提供技术支持. 「CSDN 极客头条」,是从 CSDN 网站延伸至官方微信公众号的特别栏目,专注于一天业界事报道.风里雨里,我们将每天为朋友们,播报最新鲜有 ...

  3. 开源C++项目Google JavaScript引擎V8挑战实录,带你进入V8之旅

    开源C++项目Google JavaScript引擎V8挑战实录,带你进入V8之旅 http://www.cnblogs.com/pugang/archive/2012/04/02/2430519.h ...

  4. JavaScript引擎V8 5.1遵循了更多的ECMAScript规范并支持WASM

    Google宣布了其5.1版本的V8 JavaScript引擎,这个版本提升了对ECMAScript 2017草案规范的支持,并为WASM提供了初步的支持,WASM是一个低层级的.轻便式的字节码,它致 ...

  5. JavaScript引擎—V8引擎

    为什么需要Javascript引擎? 随着JS承担的工作越来越多,早就已超越创造出的初衷(表单验证)的范畴,因此需要快速的解析和执行JavaScript脚本 V8引擎由此而生 JavaScript引擎 ...

  6. JavaScript 引擎 V8 新机制:JIT-less

    V8 v7.4现在支持JavaScript执行,而无需在运行时分配可执行内存 在其默认配置中,V8在很大程度上依赖于在运行时分配和修改可执行内存的能力.例如,TurboFan优化编译器即时为热Java ...

  7. Node.js 入门教程 6 V8 JavaScript 引擎

    Node.js 入门教程 Node.js官方入门教程 Node.js中文网 本文仅用于学习记录,不存在任何商业用途,如侵删 文章目录 Node.js 入门教程 6 V8 JavaScript 引擎 6 ...

  8. V8 JavaScript引擎研究(三)垃圾回收器的实现

    V8垃圾回收机制简介 V8垃圾回收器的实现,是V8高效的一个非常重要的原因. V8在运行时自动回收不再需要使用的对象内存,也即是垃圾回收. V8使用了全暂停式(stop-the-world).分代式( ...

  9. JavaScript引擎大战:Google提出StrongMode和SoundScript议案,增强V8性能

    JavaScript 引擎性能大战硝烟迷漫,Chrome V8 引擎团队宣布了一个新的计划,在这个计划里他们介绍了两个新的虚拟机概念:强化模式(StrongMode)和强化脚本(StrongScrip ...

最新文章

  1. 通过图形化工具来画shape
  2. 高级Java服务端工程师要求
  3. Android服务之Service(其一)
  4. 一些关于Silverlight 3的消息
  5. CF938G Shortest Path Queries(线性基,线段树分治,并查集)
  6. Git的使用的简单介绍
  7. go数据类型之map
  8. spring 配置版本问题
  9. VMware Player 4.0.2 英文官方原版
  10. QQ空间登录协议实现:易语言篇
  11. 三维动画制作软件有哪些?
  12. 谷歌浏览器默认最小字体的解决方法以及各浏览器对字体大小的支持
  13. linux虚拟机usb网卡驱动,【Vbox】centos虚拟机安装usb网卡驱动
  14. [I T]深圳唯冠天价律师费遭起诉 补偿金由法院暂管理
  15. 韩顺平循序渐进学java坦克大战爆炸图
  16. php展厅控制系统,展厅中控系统
  17. 信道容量受哪三个要素_连续信道容量将受到“三要素”的限制,其“三要素”是...
  18. Mac本,pip命令下载速度慢怎么办,这里有方案
  19. [力扣c++实现] 221. 最大正方形
  20. php开源电影,迅睿PHP开源视频电影CMS系统 v1.1.0

热门文章

  1. 新版ADT出现appcompat_v7的问题
  2. win10输入法切换快捷键怎么设置
  3. 程序员应该如何更有效率
  4. css--css选择器,伪类
  5. suoi46 最大和和 (线段树)
  6. ReportViewer改变图表类型
  7. UIImageview 遮罩效果
  8. Realtek 8192cu 支持 Android Hotspot
  9. 实时获取ccd图像_四元数数控:CCD视觉检测定位系统在玻璃瓶缺陷的检测
  10. python 批量增加文件前缀_Excel VBA工作薄 7.5批量增加工作表前缀/后缀 工作表区分更方便...