[发明专利]推导用于编译器优化的简档数据在审
申请号: | 202180051387.1 | 申请日: | 2021-08-27 |
公开(公告)号: | CN115968468A | 公开(公告)日: | 2023-04-14 |
发明(设计)人: | V·桑达来森;A·J·卡瑞克;M·G·斯图德莱;D·黑丁格 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 中国贸促会专利商标事务所有限公司 11038 | 代理人: | 鲍进 |
地址: | 美国*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 推导 用于 编译器 优化 数据 | ||
公开了一种方法,该方法包括由编译器响应于第一代码段的执行来请求与第一代码段相关联的第一简档数据集。该方法还包括响应于接收到第一简档数据集不可用的指示来执行查询过程,该查询过程基于与第一代码段的属性有关的指定标准搜索其他代码段。该方法还包括从查询过程接收搜索结果,其中搜索结果包括第二代码段。实施例还包括至少部分地基于第二代码段生成外插简档数据集。该方法将外插简档数据集与第一代码段相关联地存储在存储器中,并且编译器使用外插简档数据集对第一代码段执行优化过程。
背景技术
本发明总体上涉及用于编译器优化(compiler optimization)的方法、系统和计算机程序产品。更具体地,本发明涉及用于推导用于编译器优化的简档数据的方法、系统和计算机程序产品。
计算机程序通常以有经验的程序员可容易理解的编程语言编写,然后转换成计算机处理器理解的机器语言。对于许多编程语言,编译器或解释器将计算机程序翻译成机器语言。通常,编译器将尝试一次翻译整个程序文件并在此过程结束时报告错误,而解释器将尝试一次一行翻译程序文件且当遇到错误时将停止。
对于使用Java编程语言编写的程序,源代码通常首先被翻译成称为字节码的中间语言,其然后被翻译成机器代码。Java的主要编译器是Javac,其将Java源代码转换成类文件中组织的字节码。称为类加载器的实用程序然后将字节码加载到Java虚拟机(JVM)中。JVM包括解释器和即时(JIT)编译器,其翻译字节码并将所得机器代码提供给计算机处理器用于运行程序。
发明内容
说明性实施例提供用于推导用于编译器优化的简档数据。实施例包括由编译器响应于第一代码段的执行来请求与第一代码段相关联的第一简档数据集。实施例还包括响应于接收到第一简档数据集不可用的指示来执行查询过程,该查询过程基于与第一代码段的属性有关的指定标准搜索其他代码段。实施方式还包括从查询过程中接收搜索结果,其中,搜索结果包括第二代码段。实施例还包括至少部分地基于第二代码段生成外插简档数据集。实施例还包括将外插简档数据集存储在存储器中,使得外插简档数据集在存储器中与第一代码段相关联。实施例还包括由编译器至少部分地基于外插简档数据集对第一代码段执行优化过程。该方面的其他实施例包括记录在一个或多个计算机存储设备上的对应的计算机系统、装置和计算机程序,每个计算机系统和计算机存储设备被配置为执行实施例的动作。
实施例包括计算机可用程序产品。计算机可用程序产品包括计算机可读存储介质和存储在存储介质上的程序指令。
实施例包括计算机系统。计算机系统包括处理器、计算机可读存储器和计算机可读存储介质,以及存储在存储介质上以供处理器经由存储器执行的程序指令。
附图说明
在所附权利要求中阐述了被认为是本发明的新颖特征的特征。然而,当结合附图阅读时,通过参考说明性实施例的以下详细描述,将最好地理解本发明本身以及使用的优选模式、其进一步的目的和优点,其中:
图1描绘了可以实现说明性实施例的数据处理系统的网络的框图;
图2描绘了可以实现说明性实施例的数据处理系统的框图;
图3描绘了根据说明性实施例的示例计算系统的框图;
图4描绘了根据说明性实施例的虚拟机存储器的示例布局的框图;
图5描绘了根据说明性实施例的示例虚拟机的框图;
图6描绘了根据说明性实施例的示例JIT编译器的流程图;
图7描绘了根据说明性实施例的示例简档推导单元的流程图;
图8描绘了根据说明性实施例的备选示例简档推导单元示例虚拟机的框图;
图9描绘了根据说明性实施例的用于生成简档数据的示例过程的流程图;以及
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202180051387.1/2.html,转载请声明来源钻瓜专利网。