[发明专利]一种代码链接优化方法有效

专利信息
申请号: 202211020379.3 申请日: 2022-08-24
公开(公告)号: CN115309405B 公开(公告)日: 2023-08-04
发明(设计)人: 沈英哲;庹凌云;王文东;陈远建;吕彦辉;彭文凭 申请(专利权)人: 北京熵核科技有限公司
主分类号: G06F8/41 分类号: G06F8/41;G06F8/61;G06F8/71
代理公司: 北京亿腾知识产权代理事务所(普通合伙) 11309 代理人: 陈霁
地址: 100192 北京市*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 代码 链接 优化 方法
【说明书】:

发明涉及一种代码链接优化方法,所述方法包括:获取程序的安装文件,所述安装文件中包含至少一个类;将安装文件安装到目标设备上,得到程序镜像,其中,对于安装文件中类的每个实例域,分配一个唯一的索引;对于安装文件中类的每个虚方法,如果其重写了祖先类中的虚方法,则使用祖先类中的虚方法的索引作为该虚方法的索引,否则,为其分配一个新的索引。

技术领域

本发明涉及代码编译领域,尤其涉及一种代码链接优化方法。

背景技术

基于符号的代码链接(symbol-based linking)被广泛应用于各种编程语言中,Java虚拟机(JVM)中也采用了此项技术,用于方法调用、数据域(field)访问以及其他操作。基于JVM的Java Card虚拟机(JCVM)因其运行在资源受限的智能卡上,对JVM中原有的代码链接方法进行优化,在代码转换时使用一种特殊的符号,即基于整数的令牌(token),作为Java代码中类(class)、方法(method)和域(field)的标识,从而移除在代码链接和代码运行过程中对常量池(constant pool)的依赖和符号解析,最终既减少程序所需安装空间又减少程序运行时间。但作为代价,JCVM为满足向后兼容性,对API的后续修改施加更为严格的限制,比如不能在一个外部可见类或接口中添加新的方法。

基于符号的代码链接,其核心内容是符号分配和符号解析,前者影响编译速度,后者影响运行效率。同时为满足符号在一定范围(scope)内具有唯一性的要求,符号的长度都会比较长。对于智能卡等资源受限的嵌入式设备,因为程序大多是在台式机上编译,然后再下载到智能卡上,所以符号解析的影响更大。符号解析的主要工作就是通过比较符号获得被引用类、方法或域的地址。符号越长,比较就越耗时,进而导致指令的执行时间也相应变长。

发明内容

本发明的目的是提供一种代码链接优化方法,旨在通过在程序安装过程中将符号转换成一个索引(比如1字节整数或其他可以快速比较的数据类型),并在指令执行过程中通过比较该索引,而不是原来比较长的符号来减少符号解析的时间,进而减少指令的执行时间。

第一方面,提供了一种代码链接优化方法,包括:

获取程序的安装文件,所述安装文件中包含至少一个类;

将安装文件安装到目标设备上,得到程序镜像,其中,对于安装文件中类的每个实例域,分配一个唯一的索引;对于安装文件中类的每个虚方法,如果其重写了祖先类中的虚方法,则使用祖先类中的虚方法的索引作为该虚方法的索引,否则,为其分配一个新的索引。

在一种可能的实施方式中,所述索引为整数。

在一种可能的实施方式中,所述将安装文件安装到目标设备上,得到程序镜像,还包括:

对于每个引用实例域的指令,使用分配给它的索引替换指令中原有的操作数;对于每个调用虚方法的指令,使用分配给它的索引替换指令中原有的操作数。

在一种可能的实施方式中,所述程序镜像包括第一数据结构和第二数据结构,所述第一数据结构用于保存为所述实例域分配的索引,所述第二数据结构用于保存为所述虚方法分配的索引。

在一种可能的实施方式中,所述获取程序的安装文件,包括:

获取程序的源代码,将源代码进行编译和转换,得到程序的安装文件,其中,将程序的类、方法和域的符号保存到安装文件中,其中,所述域包括实例域,所述方法包括虚方法。

在一种可能的实施方式中,所述安装文件包括第三数据结构和第四数据结构,所述第三数据结构用于保存所述域的符号,所述第四数据结构用于保存所述方法的符号。

在一种可能的实施方式中,所述实例域的索引与实例域的符号一一对应;所述虚方法的索引与虚方法的符号一一对应。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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