[发明专利]基于树型程序分支的计算机程序即时编译方法有效

专利信息
申请号: 201410078456.X 申请日: 2014-03-05
公开(公告)号: CN103838616B 公开(公告)日: 2017-04-05
发明(设计)人: 廖湖声;武辰之;于成龙;高红雨;苏航 申请(专利权)人: 北京工业大学
主分类号: G06F9/45 分类号: G06F9/45
代理公司: 北京思海天达知识产权代理有限公司11203 代理人: 纪佳
地址: 100124 *** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要: 基于树型程序分支的计算机程序即时编译方法,属于编译方法技术领域。本发明中结构化基本块流图的程序执行中按照控制流的指示,依次解释执行每个基本块,遇到循环结构时则统计程序分支的出现次数。在出现次数大于给定的阈值,将当前分支设置为热点分支;对其中每个基本块进行编译处理,生成并保存目标程序分支。如果当前分支中包含其他热点分支、分支入口属于其他热点分支或部分基本块属于其他热点分支,则按照不同的策略,将当前分支与其他热点分支进行合并。本方法编译处理粒度较小,具有良好的动态可扩展性,减少了在运行时刻频繁地切换执行方式所带来的额外负担,可以大幅度提高基本块制流图的运行效率。
搜索关键词: 基于 程序 分支 计算机 即时 编译 方法
【主权项】:
基于树型程序分支的计算机程序即时编译方法,其特征在于:计算机程序是按照结构化基本块流图的表示,实现步骤如下:步骤S1按照控制流的指示,依次解释执行每个基本块,遇到循环结构时则记录程序分支的起点;步骤S2如果再次遇到相同循环结构的起点时,则记录程序分支信息,累计该分支的出现次数;步骤S3如果当前分支路径的出现次数大于给定的阈值,则按照以下步骤对当前分支进行编译处理:步骤S3.1为当前分支设置编译标记,表示为热点分支;步骤S3.2按照以下步骤,对当前分支中的每个基本块进行编译处理:步骤S3.2.1将当前基本块翻译为目标代码模块;步骤S3.2.2遇到其他分支入口,则生成出口指令;步骤S3.2.3将步骤S3.2.1和S3.2.2生成的代码合并为目标程序分支;步骤S3.3保存步骤S3.2所生成的目标程序分支;步骤S3.4如果当前分支和其他分支有包含关系,则按照以下步骤进行处理:步骤S3.4.1如果当前分支中包含了其他热点分支,则将其他热点分支作为当前分支的子分支,合并为树型的程序分支;步骤S3.4.2如果当前分支入口属于其他热点分支,则将当前分支作为其他热点分支的子分支,合并为树型的程序分支;步骤S3.4.3如果当前分支中部分基本块属于其他热点分支,且分支入口相同,则将其他热点分支作为当前分支的子分支,合并为树型的程序分支;步骤S4每当再次执行循环结构时,如果该循环已经具有编译标记,则将解释执行方式切换为编译执行方式,按照以下步骤进行执行目标程序中的每条指令:步骤S4.1将解释执行环境的上下文信息转换为目标程序的上下文信息,并保留返回地址;步骤S4.2按照控制指令顺序执行目标程序中的指令序列;步骤S4.3如果遇到了出口指令,则将编译执行方式切换为解释执行方式,按照目标程序的上下文信息恢复解释执行环境的上下文信息,随后按照出口指令的指示继续程序的解释执行;步骤S4.4如果目标程序执行结束,则将编译执行方式切换为解释执行方式,按照目标程序的上下文信息恢复解释执行环境的上下文信息,随后按照预留的返回地址,继续下一基本块的解释执行。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

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

本文链接:http://www.vipzhuanli.com/patent/201410078456.X/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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