[发明专利]一种IL指令的静态优化方法和装置在审
申请号: | 202210117322.9 | 申请日: | 2022-02-08 |
公开(公告)号: | CN114461343A | 公开(公告)日: | 2022-05-10 |
发明(设计)人: | 黄强;李建良;何雨泉;袁冠鹏 | 申请(专利权)人: | 在线途游(北京)科技有限公司;北京云游互动网络科技有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F8/656;G06F8/658 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100012 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 il 指令 静态 优化 方法 装置 | ||
本申请提供了一种IL指令的静态优化方法、装置、计算设备和计算机可读存储介质,该方法对解释器运行方式进行了优化,当热更新程序集被加载到运行时后,获取函数的元数据信息并解析其中的指令,根据指令的上下文信息将多功能指令转换为确定性的指令,并对解释器进行了改进,重新实现了一个基于转换过的指令的解释器,从而提升了解释器的执行速度,进而提高了热更新的效率。
技术领域
本申请涉及计算机编译技术领域,特别涉及一种IL指令的静态 优化方法、装置、计算设备和计算机可读存储介质。
背景技术
在移动互联网领域,通常使用热更新的方式来实现APP的功能 更新或Bug修复,用户打开APP时即可实现更新,不用重新下载整 个APP,从而实现了良好的用户体验。现有技术中,一种流行的方案 是基于C#的热更新方案,该方案利用解释器执行热更新部分动态库中的IL指令来实现热更新。由于IL指令集中的多个指令是运行时上 下文相关指令,如在运行时根据操作的数据类型决定执行何种操作。 但IL字节码中的函数实际上又是静态的,编译完成后,某条指令应 该操作什么类型的数据是确定的,无需等到运行时再去判定,这不仅 增加了运行判定和跳转时间,还额外增加了维护数据栈的数据类型的 成本。
发明内容
有鉴于此,本申请例提供了一种IL指令的静态优化方法、装置、 计算设备和计算机可读存储介质,以解决现有技术中存在的技术缺陷。
根据本申请实施例的第一方面,提供了一种IL指令的静态优化 方法,包括:
加载程序集到运行时,获取程序集中的代码;
解析所述代码中函数的静态指令,确定所述静态指令中每条指令 的上下文信息;
根据所述指令的上下文信息,将所述指令转换为确定性的指令;
在优化后的解释器中,对转换后的确定性的指令进行解释执行。
根据本申请实施例的第二方面,提供了一种IL指令的静态优化 装置,包括:
加载单元,用于加载程序集到运行时,获取程序集中的代码;
解析单元,用于解析所述代码中函数的静态指令,确定所述静态 指令中每条指令的上下文信息;
转换单元,用于根据所述指令的上下文信息,将所述指令转换为 确定性的指令;
执行单元,用于在优化后的解释器中,对转换后的确定性的指令 进行解释执行。
根据本申请实施例的第三方面,提供了一种计算设备,包括存储 器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所 述处理器执行所述指令时实现所述IL指令的静态优化方法的步骤。
根据本申请实施例的第四方面,提供了一种计算机可读存储介质, 其存储有计算机指令,该指令被处理器执行时实现所述IL指令的静 态优化方法的步骤。
通过本申请实施例中的方法和装置,对IL2CPP的结构进行改进, 将一个仅支持AOT静态编译的运行时改造为一个支持AOT+解释器 的运行时,实现了跨平台的高效热更新方案的基础,并对解释器运行 方式进行了优化。当热更新程序集被加载到运行时后,获取函数的元 数据信息并解析其中的指令,根据指令的上下文信息将多功能指令转 换为确定性的指令,并对解释器进行了改进,重新实现了一个基于转 换过的指令的解释器,从而提升了解释器的执行速度,进而提高了热 更新的效率。
附图说明
图1是本申请实施例提供的计算设备的结构框图;
图2是本申请实施例提供的IL指令的静态优化方法的一流程示 意图;
图3是本申请实施例提供的IL指令的静态优化方法中对指令进 行替换的一示意图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于在线途游(北京)科技有限公司;北京云游互动网络科技有限公司,未经在线途游(北京)科技有限公司;北京云游互动网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210117322.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:人工髋关节及其制造方法
- 下一篇:一种零部件材料逆向分析方法及系统