文章图片
文章图片
文章图片
文章图片
文章图片
文章图片
文章图片
文章图片
文章图片
文章图片
文章图片
【javascript|V8 编译浅谈】
文章图片
一 简介 本文是一个 V8 编译原理知识的介绍文章 , 旨在让大家感性的了解 JavaScript 在 V8 中的解析过程 。 本文主要的撰写流程如下:
解释器和编译器:计算机编译原理的基础知识介绍 V8 的编译原理:基于计算机编译原理的知识 , 了解 V8 对于 JavaScript 的解析流程 V8 的运行时表现:结合 V8 的编译原理 , 实践 V8 在解析流程中的具体运行表现 本文仅代表个人观点 , 文中若有错误欢迎指正 。
二 解释器和编译器 大家可能一直疑惑的问题:JavaScript 是一门解释型语言吗?要了解这个问题 , 首先需要初步了解什么是解释器和编译器以及它们的特点是什么 。
1 解释器
解释器的作用是将某种语言编写的源程序作为输入 , 将该源程序执行的结果作为输出 , 例如 Perl、Scheme、APL 等都是使用解释器进行转换执行:
2 编译器
编译器的设计是一个非常庞大和复杂的软件系统设计 , 在真正设计的时候需要解决两个相对重要的问题:
如何分析不同高级程序语言设计的源程序 如何将源程序的功能等价映射到不同指令系统的目标机器
中间表示(IR)
中间表示(Intermediate Representation , IR)是程序结构的一种表现方式 , 它会比抽象语法树(Abstract Syntax Tree , AST)更加接近汇编语言或者指令集 , 同时也会保留源程序中的一些高级信息 , 具体作用包括:
易于编译器的错误调试 , 容易识别是 IR 之前的前端还是之后的后端出的问题 可以使得编译器的职责更加分离 , 源程序的编译更多关注如何转换成 IR , 而不是去适配不同的指令集 IR 更加接近指令集 , 从而相对于源码可以更加节省内存空间
- javascript|Web前端培训:什么是 MEAN Stack?
- javascript|奢侈品级别音响B&W加持,峰米向行业第一发起冲击?
- javascript|帕特·基辛格被任命为英特尔CEO已有一年
- javascript|SSD、显卡速度再翻倍! 新一代PCIe 6.0标准正式定案
- 浅谈传统行业数字化转型的开放性
- javascript|Web前端培训:关于 ReactJS 的 11 个常见问题
- javascript|Web前端培训:React.js的6个好处
- meta|Web前端培训:前6个JavaScript图表库
- c语言|C语言-浅谈include命令
- 百舸争流中的“奋楫者”:浅谈芯百特的市场制胜法则