写点什么

WebKit 小组宣布开发基于字节码的 JavaScript 解释器——SquirrelFish

  • 2008-06-12
  • 本文字数:665 字

    阅读完需:约 2 分钟

上周,WebKit 开发团队向外正式宣布他们正在为 WebKit 的 JavaScript 引擎开发一个新解释器--SquirrelFish。根据 WebKit 官方博客,SquirrelFish 的速度比之前的解释器快 1.6 倍”。

与之前的解释器使用遍历语法树的实现方式不同的是,SquirrelFish 的实现采用字节码。

遍历语法树实现方式存在的高代价问题,在 SquirrelFish 字节码引擎中基本都不存在。首先,一个字节码流能够精确描述执行程序所需的操作,编译成字节码实际上隐性地跳过了不相关的语法结构。其次,字节码调度程序只是一个简单地从内存中直接读取,转而间接调度分支程序的过程。因此,执行字节码指令要比访问语法树节点快得多。第三,由于不再需要语法树,解释器无需继续在语法树节点间传送执行状态。

解释器使用字节码之后能够直接从字节码解释的所有的优化中获益匪浅,这也意味着 SquirrelFish 的速度还会继续得到提升。

在解析器使用字节码之后,我们目前实现的编译时优化有: - 常量折叠(constant folding)

  • 更强的拷贝传播
  • 类型推断——包括精确和推测两种方式
  • 基于表达式上下文的特化——尤其是 void 和 boolean 上下文
  • 窥孔优化(peephole optimization)
  • 逃逸分析 (escape analysis)

SquirrelFish 团队特别对那些在同一领域工作的人们表示了感谢,正是他们的研究成果激发了 SquirrelFish 的开发灵感。

SquirrelFish 的设计很大程度上来自于高效虚拟机领域的一些最新研究成果,其中包括 M. Anton Ertl 教授、David Gregg 教授等人以及 Lua 编程语言的开发者们的研究。

查看英文原文: WebKit Team Announces SquirrelFish, a Bytecode Based JavaScript Interpreter

2008-06-12 16:141591
用户头像

发布了 88 篇内容, 共 273.3 次阅读, 收获喜欢 9 次。

关注

评论

发布
暂无评论
发现更多内容

图文并茂 教你在IDEA中如何一键生成代码,提高开发效率!

爱好编程进阶

Java 面试 后端开发

基于华为云图像识别标签

乌龟哥哥

4月月更

别找了,这是迄今为止把微服务讲的最清楚的一篇!没有之一

爱好编程进阶

Java 面试 后端开发

并发工具之Semaphore与Exchanger

爱好编程进阶

Java 面试 后端开发

分布式shiro权限验证 二

Rubble

4月日更

CDF全球调查:软件交付性能停滞不前

飞算JavaAI开发助手

工作总结!日志打印的15个建议

爱好编程进阶

Java 面试 后端开发

性能调优篇:困扰我半年之久的RocketMQ timeout exception 终于破解了

爱好编程进阶

Java 面试 后端开发

或许你不知道的12条SQL技巧

乌龟哥哥

4月月更

单例模式你不得不知道的底层原理

爱好编程进阶

Java 面试 后端开发

大爆料!Github上100%好评的Java多线程池面试题

爱好编程进阶

Java 面试 后端开发

再谈企业信息化的本质

秋去冬来春未远

信息化本质

在线YAML转Properties工具

入门小站

工具

Module-3:外包学生管理系统架构设计文档

Jadedev

架构训练营

linux之lscpu命令

入门小站

字节奋战7年,回头一看只剩下这份1857页的算法笔记了

爱好编程进阶

Java 面试 后端开发

开发者工具 Top 100 名单

爱好编程进阶

Java 面试 后端开发

10分钟快速入门RDS

乌龟哥哥

4月月更

学生管理系统的架构文档

Kevin

「架构实战营」

你必须懂也可以懂的微服务系列三:服务调用

爱好编程进阶

Java 面试 后端开发

观测云登陆阿里云计算巢,共建ISV新生态

观测云

可观测性 可观测

华为18级大牛整理总结:微服务设计和分布式服务框架原理实践文档

爱好编程进阶

Java 面试 后端开发

哪路神仙写的421页MySQL高级笔记,涵盖MySQL所有技术!太香了

爱好编程进阶

Java 面试 后端开发

MapReduce服务初体验

乌龟哥哥

4月月更

大量示例彻底搞懂Linux查找,which,whereis

爱好编程进阶

Java 面试 后端开发

模块三作业 架构设计文档

库尔斯

架构实战营

你知道Java是如何解决可见性和有序性问题的吗?

爱好编程进阶

Java 面试 后端开发

刚拿的字节跳动offer“打水漂”

爱好编程进阶

Java 面试 后端开发

历经4轮2小时,终于斩下美团offer!

爱好编程进阶

Java 面试 后端开发

大数据基础处理框架

爱好编程进阶

Java 面试 后端开发

WebKit小组宣布开发基于字节码的JavaScript解释器——SquirrelFish_Java_Nick Laiacona_InfoQ精选文章