[发明专利]基于飞腾平台火狐浏览器JIT引擎的整数乘法优化方法在审

专利信息
申请号: 201810279057.8 申请日: 2018-03-30
公开(公告)号: CN108509202A 公开(公告)日: 2018-09-07
发明(设计)人: 孙科;张铎;何明武;唐晓东;魏立峰;孔金珠;吴庆波 申请(专利权)人: 天津麒麟信息技术有限公司
主分类号: G06F8/41 分类号: G06F8/41
代理公司: 天津诺德知识产权代理事务所(特殊普通合伙) 12213 代理人: 栾志超
地址: 300457 天津市滨海新区*** 国省代码: 天津;12
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 整数乘法 优化 引擎 火狐浏览器 代码生成 操作数 读取 代码生成过程 乘法操作 乘法指令 等效指令 数据分析 指令周期 浮点 推断 编译 替换 降级
【说明书】:

本发明提供基于飞腾平台火狐浏览器JIT引擎的整数乘法优化方法,依次包括如下步骤:S110:开始优化JIT编译过程;S120:MIR生成;S130:执行优化趟;S140:MIR降级;S150:代码生成,包括:a.整数乘法代码生成;b.读取LMulI对象中右操作数,根据右操作数的类型执行对应的操作;S160:结束。本发明的有益效果是根据JS引擎收集的类型数据做类型推断和数据分析,在优化JIT代码生成过程中将之前的浮点乘法指令替换为其它等效指令,实现一个指令周期内完成乘法操作,从而达到优化整数乘法效率的目的。

技术领域

本发明属于通讯技术领域,尤其是涉及一种基于飞腾平台火狐浏览器JIT引擎的整数乘法优化方法。

背景技术

伴随着互联网的快速发展,浏览器成为了桌面终端用户主要的互联网入口。现在的网站内容越来越丰富,功能也越来越复杂,为了快速渲染页面提升用户体验,大部分的动态页面渲染和数据处理工作会在浏览器端进行。这对浏览器的性能,尤其是JS引擎的性能提出了更高的要求。

早期的JS引擎都是基于解释器实现,解释器具有代码加载执行延时短的优点,但是对于反复执行的代码每次需要重新解释,导致了运行效率的降低。为了提升JS引擎执行性能,浏览器厂商开发出了适用于JS等动态语言的JIT优化技术。

JIT:即时编译(Just-in-time compilation),动态编译的一种形式,是一种提高程序运行效率的方法。在火狐浏览器中,有两个JIT编译器:基线JIT编译器和优化JIT编译器。

Bailout:也叫“去优化”(Deoptimize),在高优化层级JIT做了很激进的优化(例如假设某个类不会有别的子类、某个引用一定不是null、某个引用所指向的对象一定是某个具体类型,等),而这个激进的假设假如失效了的话,就必须退回到没有做这些优化的“安全”的低优化层级JIT去继续执行。

JIT编译器根据解释器记录的代码运行信息,将热点代码通过编译优化手段编译成本地机器代码,下一次运行到相应代码时直接执行对应的JIT代码,从而可以大幅提升JS引擎性能。目前火狐浏览器内部有两个JIT编译器:基线编译器和优化编译器。基线编译器会将“热点“代码编译成本地机器代码,但是不会对代码结构做优化;基线编译器中执行过很多次”非常热“的代码会被送入优化JIT编译器,而优化JIT编译器内部会调用多种优化手段(常量折叠、死代码删除等),调整代码结构以生成最高效的本地机器代码。

目前火狐浏览器在飞腾平台不支持优化JIT功能,因为缺少针对飞腾平台的优化JIT代码生成后端。而基线JIT优化程度不足,导致JS引擎处理复杂网页时效率太低,从而引起页面响应迟缓。特别是JS代码在解释器和基线JIT编译器的乘法运算都需要先判断操作数的类型,然后再将操作数转换为浮点数,再通过浮点乘法指令计算结果。浮点乘法指令在飞腾平台需要五个时钟周期,而其它算数指令大都能在一个时钟周期的执行完成,尤其是在循环执行时性能问题更加突出。

现有基于火狐开发的浏览器技术中,没有一种能解决飞腾上火狐浏览器的JS引擎整数乘法的性能问题。当前基线JIT编译器中的乘法操作是通过浮点乘法指令完成,需要多个时钟周期,效率低下。

中国发明专利“简档导向的JIT代码生成”(申请号201210330925.3),该发明提出了一种简档导向的JIT代码生成方法,其具体实现是:首先,接收以动态语言编码的源代码经解析转换为字节码;然后,解释器来解释字节码,生成关于字节码的简档信息,存储简档信息;最后,当JIT编译器被配置成执行控制器时,JIT编译器基于简档信息执行编译字节码的功能。该方法通过生成简档信息提高了代码生成的效率,但是并没有基于特定类型的字节码做针对性的代码生成优化。

发明内容

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津麒麟信息技术有限公司,未经天津麒麟信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201810279057.8/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top