[发明专利]用于代码优化的语法图的持续注释在审

专利信息
申请号: 202080048722.8 申请日: 2020-03-27
公开(公告)号: CN114041117A 公开(公告)日: 2022-02-11
发明(设计)人: B·J·F·德斯迈特 申请(专利权)人: 微软技术许可有限责任公司
主分类号: G06F8/41 分类号: G06F8/41
代理公司: 北京市金杜律师事务所 11256 代理人: 张宁
地址: 美国华*** 国省代码: 暂无信息
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 用于 代码 优化 语法 持续 注释
【说明书】:

定位并记录优化机会以通过编译器或解释器增强代码转换。增强型转换器扫描程序语法图,识别子图结构,并且注释该图的节点,以记录与该节点相关联的程序代码实体的优化特性。子图结构和对应注释可以维持在与任何特定可优化程序不同的优化目录中。优化器基于所注释的语法图来改进程序代码转换。优化特性可以指定关于执行值范围和执行行为(例如,副作用、局部或全局变量使用、I/O、引用参数)的代码纯度,并且哪些异常是可能的。可以使用例程名称、哈希值和具有孔的模板来标识子图结构,任何常数将填满该孔。可以根据子节点的特性来推断父节点特性。可以使用权重函数使优化候选优先化。可以插入优化器回调以递增地评估优化特性。

背景技术

软件开发活动通常包括转换源代码以获得可执行代码。可以通过编译器完成转换,该编译器通过相对较大段(诸如,整个文件)地转换源代码来产生可执行代码。或者,可以通过解释器完成转换,该解释器较小段地产生可执行代码,例如,一次转换一个单编程语言语句接着执行。因为许多编译器在给定转换工作期间比许多解释器使用更大量的源代码,因此编译器通常比解释器具有更多机会来优化通过转换产生的可执行代码。然而,优化不限于通过编译器进行的转换活动。

优化可以减少可执行代码所使用的存储器量,或者例如减少运行可执行代码所需的时间量。然而,优化是否在实践中而不仅在理论上可用取决于多个因素。给定转换器必须鉴于特定源代码并且鉴于特定目标处理器和目标执行环境来正确地识别给定优化是可能的。此外,针对在实践中可用的优化,转换器必须能够生成可执行代码,该可执行代码具体实现优化而不破坏程序。即,程序的可执行代码的经优化的版本与程序的非优化的版本应关于所有程序输入和对应输出具有相同行为;经更改的行为指示经破坏的程序。例如,经优化的版本与非优化的版本做相同的事情,但是做得更快或使用更少的存储器。

由于这样的相关性并且由于其他因素(诸如,代码优化的复杂度以及从开发人员的视角经常缺失优化的可见性),因此代码优化通常是专门的尝试,其中失去了优化的许多机会。

发明内容

一些实施例使用或执行在代码转换期间寻找优化机会的操作。这些操作扫描程序的语法图的至少一部分。语法图具有节点,并且其表示程序的语法结构方面。操作还查明与语法图的节点相关联的程序的代码具有优化特性,并且其根据经查明的优化特性来注释语法图。然后,实施例能够至少部分地基于所注释的语法图来产生程序的优化。

本文中所呈现的教导的一些实施例包括代码转换优化功能性或与代码转换优化功能性相联,该代码转换优化功能性包括被配置为执行某些操作的数字硬件。这些操作可以包括(a)遍历程序的语法图的至少一部分,(b)识别语法图中的预定子图结构,(c)将优化特性注释与所识别的语法子图结构相关联,所得关联指示代码段的与所识别的子图结构相对应的方面在执行代码段之前可辨别的程度,该方面包括执行值或执行效果或两者,以及(d)至少部分地基于关联步骤的结果来执行程序的代码转换的优化。

与本文中的教导有关的其他技术活动也将对本领域技术人员变得显而易见。所给出的示例只是说明性的。本发明内容即无意于标识所要求保护主题的关键特征或必要特征,也无意于用于限制所要求保护主题的范围。相反,本发明内容被提供来以简化形式介绍一些技术概念,下面在具体实施方式中进一步描述这些技术概念。创新由权利要求定义,并且在本发明内容与权利要求冲突的情况下,应以权利要求为准。

附图说明

将参考附图来给出更具体的描述。这些图仅图示所选择的方面,因此并不能完整地确定覆盖范围或范围。

图1是大体上图示了计算机系统并且还大体上图示了经配置的存储介质的框图;

图2是图示了具有代码转换功能性的计算环境的框图;

图3是图示了代码转换环境的一些示例的框图;

图4是图示了系统的被配置用于使用语法图优化注释功能性的代码转换的方面的框图;

图5是图示了代码段的一些执行相关的方面的框图;

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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