内联实现方法及装置、电子设备、存储介质及程序产品制造方法及图纸

技术编号:32182428 阅读:21 留言:0更新日期:2022-02-08 15:44
本公开关于一种内联实现方法及装置、电子设备、存储介质及程序产品,涉及计算机技术领域。该方法包括:获取配置信息,其中,配置信息包括具有内联方法的类和对应的内联方法;获取配置信息中具有内联方法的类的类文件,通过字节码操控框架获得配置信息中内联方法的方法节点;生成具有内联方法的类与内联方法的方法节点之间的对应关系;通过字节码操控框架遍历类文件中的方法指令,若方法指令中的字节码指令为调用指令、且方法指令对应的类和方法属于对应关系,则获取与方法指令对应的方法节点,利用方法节点替换方法指令。该方法能够实现Java语义上的内联,解决相关技术中方法内联导致的程序运行耗时问题。致的程序运行耗时问题。致的程序运行耗时问题。

【技术实现步骤摘要】
内联实现方法及装置、电子设备、存储介质及程序产品


[0001]本公开涉及计算机
,尤其涉及一种内联实现方法及装置、电子设备、存储介质及程序产品。

技术介绍

[0002]Java方法内联是把调用方函数代码“复制”到调用方函数中,减少因函数调用开销的技术。相关技术中,Java不支持语义上的内联,内联方法的判断需要由虚拟机来进行。当一个方法没有被虚拟机标记为内联方法时,使用普通方法的调用会造成虚拟机堆栈的频繁进入和弹出,增加程序运行耗时。
[0003]需要说明的是,在上述
技术介绍
部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。

技术实现思路

[0004]本公开提供一种内联实现方法及装置、电子设备、存储介质及程序产品,以至少解决相关技术中方法内联导致的程序运行耗时问题。本公开的技术方案如下:
[0005]根据本公开实施例的一个方面,提供一种内联实现方法,包括:获取配置信息,所述配置信息包括具有内联方法的类和对应的内联方法;获取所述配置信息中所述具有内联方法的本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种内联实现方法,其特征在于,包括:获取配置信息,所述配置信息包括具有内联方法的类和对应的内联方法;获取所述配置信息中所述具有内联方法的类的类文件,通过字节码操控框架获得所述配置信息中所述内联方法的方法节点;生成所述具有内联方法的类与所述内联方法的方法节点之间的对应关系;通过字节码操控框架遍历类文件中的方法指令,若所述方法指令中的字节码指令为调用指令、且所述方法指令对应的类和方法属于所述对应关系,则获取与所述方法指令对应的方法节点,利用所述方法节点替换所述方法指令。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:通过注解处理器查询到所述内联方法,根据所述内联方法确定所述具有内联方法的类;以所述具有内联方法的类的类名为索引,以所述具有内联方法的类包含的一个或多个所述内联方法的方法签名为值,生成所述配置信息。3.根据权利要求1所述的方法,其特征在于,所述生成所述具有内联方法的类与所述内联方法的方法节点之间的对应关系,包括:以所述具有内联方法的类的类名为索引,以所述具有内联方法的类包含的一个或多个所述内联方法的方法节点为值,存储为Map数据。4.根据权利要求3所述的方法,其特征在于,所述若所述方法指令中的字节码指令为调用指令、且所述方法指令对应的类和方法属于所述对应关系,则获取与所述方法指令对应的方法节点,利用所述方法节点替换所述方法指令,包括:判断所述方法指令中的字节码指令是否为调用指令、且所述方法指令后面的类名和方法名属于存储的Map数据;若是,则根据所述方法指令后面的类名和...

【专利技术属性】
技术研发人员:吴嘉鑫李盼
申请(专利权)人:北京达佳互联信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1