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

专利信息
申请号: 201410078456.X 申请日: 2014-03-05
公开(公告)号: CN103838616B 公开(公告)日: 2017-04-05
发明(设计)人: 廖湖声;武辰之;于成龙;高红雨;苏航 申请(专利权)人: 北京工业大学
主分类号: G06F9/45 分类号: G06F9/45
代理公司: 北京思海天达知识产权代理有限公司11203 代理人: 纪佳
地址: 100124 *** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 程序 分支 计算机 即时 编译 方法
【权利要求书】:

1.基于树型程序分支的计算机程序即时编译方法,其特征在于:计算机程序是按照结构化基本块流图的表示,实现步骤如下:

步骤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如果目标程序执行结束,则将编译执行方式切换为解释执行方式,按照目标程序的上下文信息恢复解释执行环境的上下文信息,随后按照预留的返回地址,继续下一基本块的解释执行。

2.根据权利要求基于树型程序分支的计算机程序即时编译方法,其特征在于:所述的给定阈值按照结构化基本块流图的规模和程序输入数据规模给定的,取值范围大于0。

3.根据权利要求基于树型程序分支的计算机程序即时编译方法,其特征在于:所述基于树型程序分支的计算机程序即时编译方法中出口指令,其包含其他分支入口的信息,但不包含分支全部内容,用以在当前分支中表示其他分支的指令。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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