写点什么

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:141555
用户头像

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

关注

评论

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

TiKV 源码阅读三部曲(一)重要模块

PingCAP

TiKV 源码解读

CTO技术共享整理出来的十个Python自动化脚本

CTO技术共享

Python 个人成长 10月月更

SAP | 详解abap数据类型

暮春零贰

SAP abap 10月月更

大数据开发培训怎么选?

小谷哥

React组件通信

xiaofeng

React

研发分享 | StoneDB 如何给 Tianmu 引擎增加 delete 功能 #1 调研之旅

StoneDB

数据库 HTAP StoneDB 10月月更 企业号十月PK榜

升级到React-Router-v6

xiaofeng

React

react-Suspense工作原理分析

夏天的味道123

React

方舟数据中台,打造企业数据能力组件中心

元年技术洞察

数据中台 低代码 数字化转型 企业自驱力

小程序技术可助力智慧医疗企业破茧突围?

Speedoooo

小程序 小程序容器 小程序化

详解React的Transition工作原理原理

夏天的味道123

React

细说React组件性能优化

xiaofeng

React

什么是无代码?企业为什么要用无代码进行数字化转型?

优秀

数字化转型 无代码

CTO技术共享整理九个shell脚本

CTO技术共享

个人成长 DDoS 10月月更

渲染行业的未来发展趋势

Finovy Cloud

渲染 云渲染 本地渲染

PaaS平台应用趋势

元年技术洞察

AI 数据湖 PaaS 容器服务 微服务化

大厂被裁,疫情之下,一个offer都没,测试人如何破局?

千锋IT教育

没想到!我在简历上写了“精通MySQL”,阿里面试官跟我死磕后就给我发了高薪offer

程序知音

Java MySQL 数据库 后端技术

彻底搞懂React-hook链表构建原理

夏天的味道123

React

遇到消息队列选型肿么办

CTO技术共享

个人成长 消息队列 10月月更

化解企业云端协同难题,英特尔超能云终端2.0版本为市场注入全新活力

科技之家

java开发技术培训费用是多少

小谷哥

技术分享| 消息队列Kafka群集部署

anyRTC开发者

nginx kafka zookeeper 分布式 消息

极客时间运维进阶训练营第一周作业

好吃不贵

TCP:当初取代NCP,如今害怕被取代

C++后台开发

后台开发 网络协议 TCP/IP 后端开发 TCP协议

React组件设计模式-纯组件,函数组件,高阶组件

xiaofeng

React

前端开发的程序员还有前途吗

小谷哥

Confidential Containers:云原生机密计算基础设施

OpenAnolis小助手

开源 cncf 龙蜥 机密计算 沙箱

CEF | CEF浏览器客户端功能详解

YOLO.

qt 10月月更 C++

web前端开发课程培训哪家好

小谷哥

大数据开发培训学习哪家机构好

小谷哥

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