[发明专利]在运行时处绑定可执行代码有效

专利信息
申请号: 201280028424.8 申请日: 2012-05-29
公开(公告)号: CN103620553B 公开(公告)日: 2016-10-12
发明(设计)人: A·K·阿加瓦尔;W·朱;Y·莱瓦诺尼 申请(专利权)人: 微软技术许可有限责任公司
主分类号: G06F9/30 分类号: G06F9/30;G06F9/45
代理公司: 上海专利商标事务所有限公司 31100 代理人: 管琦琦
地址: 美国华*** 国省代码: 美国;US
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 运行 绑定 可执行 代码
【权利要求书】:

1.一种在计算机系统处用于在运行时处绑定代码以改善性能的方法,所述计算机系统包括处理器和系统存储器,所述计算机系统还包括编译器和运行时,所述编译器被配置成把较高级源代码的语句和表达式编译成较低级代码的代表性较低级指令,所述运行时被配置成执行可执行代码,所述方法包括:

访问较高级源代码的语句和表达式的动作;

检测到较高级源代码包括至少一个指定方面的动作,针对所述指定方面,相应的代表性较低级指令的执行效率基于执行期间接收到的输入数据的配置变化到必要的程度;

把所访问的较高级源代码的语句和表达式编译成较低级代码的代表性较低级指令的动作,包括:

针对所述至少一个指定方面编译多个不同的代表性较低级指令的动作,所述多个不同的代表性较低级指令中的每一个被配置成正确地实现所述至少一个指定方面的意图,所述多个不同的代表性较低级指令中的至少一个基于接收到的输入数据的不同配置针对执行效率被进行优化;

配置所述较低级指令在运行时的执行的动作,包括:

分析将被提供到所述较高级源代码的所述至少一个指定方面的输入数据的配置的动作;

确定为执行而基于所提供的输入数据的配置来优化选自多个不同的代表性较低级指令的指定的代表性较低级指令的动作;以及

把所述指定的较低级指令绑定到可执行代码以实现所述较高级源代码的所述至少一个指定方面的意图的动作。

2.如权利要求1所述的方法,其特征在于,针对所述至少一个指定方面编译多个不同的代表性较低级指令的动作包括:

编译代表性较低级指令的一个版本的动作,为了在运行时处与不使用缓冲器混叠的输入数据一起使用而优化所述代表性较低级指令的一个版本;以及

编译代表性较低级指令的另一个版本的动作,所述代表性较低级指令的另一个版本用于在运行时处与使用缓冲器混叠的输入数据一起使用。

3.如权利要求2所述的方法,其特征在于,其中分析将被提供到所述较高级源代码的所述至少一个指定方面的输入数据的配置的动作包括确定所述输入数据不使用缓冲器混叠的动作;并且

其中把所述指定的较低级指令绑定到可执行代码以实现所述较高级源代码的所述至少一个指定方面的意图的动作包括在运行时处把所述代表性较低级指令的一个版本绑定到可执行代码的动作。

4.如权利要求1所述的方法,其特征在于,其中针对所述至少一个指定方面编译多个不同的代表性较低级指令的动作包括:

编译抽象接口以表示所述至少一个指定方面的动作;以及

编译可在运行时处动态地链接到所述抽象接口的较低级代码的多个不同部分的动作。

5.如权利要求4所述的方法,其特征在于,其中编译抽象接口以表示所述至少一个指定方面的动作包括编译物理到逻辑线程ID映射接口的动作;以及

其中编译可在运行时处动态地链接到所述抽象接口的较低级代码的多个不同部分的动作包括:

为直接的物理到逻辑线程ID映射编译较低级代码的一部分的动作;以及

为更通用的间接的物理到逻辑线程ID映射编译较低级代码的另一部分的动作。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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