[发明专利]一种CAP文件Classref常量的解析方法有效

专利信息
申请号: 201210351426.2 申请日: 2012-09-18
公开(公告)号: CN103677778A 公开(公告)日: 2014-03-26
发明(设计)人: 毛云娟 申请(专利权)人: 北京中电华大电子设计有限责任公司
主分类号: G06F9/44 分类号: G06F9/44
代理公司: 暂无信息 代理人: 暂无信息
地址: 100102 北京市朝阳*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 cap 文件 classref 常量 解析 方法
【权利要求书】:

1.一种CAP文件常量池组件CONSTANT_Classref常量的解析方法,对包下载的过程进行优化,其特征在于包括以下步骤:

步骤一:保留导出组件中class_export_info中的class_offset项,不做修改;

步骤二:解析常量池组件中的CONSTANT_Classref常量中的package_token项,保留class_token项;

步骤三:解析参考位置组件;

步骤四:解析解释执行过程中涉及到的字节码。

2.如权利要求1中所述的方法,其特征在于:若为JCRE系统包,在将该系统包的Java代码转换为字节码时,对该系统包中导出组件中class_export_info中的class_offset项的值不做任何修改和替换。

3.如权利要求1中所述的方法,其特征在于:若为下载包,在下载链接过程中,对该下载包中导出组件中class_export_info中的class_offset项的值保留原值,不做任何替换和修改。

4.如权利要求1中所述的方法,其特征在于:若为JCRE系统包,在将该系统包的Java代码转换为字节码时,对该系统包中的常量池组件中的CONSTANT_Classref常量为本系统包外的类的情况,将该常量中的package_token项替换为该系统包在JAVA卡上的包索引,并将最高位置1,保留class_token项。

5.如权利要求1中所述的方法,其特征在于:若该包为下载包,在下载链接过程中,对该下载包中的常量池组件中的CONSTANT_Classref常量为本包外的类的情况,将该常量中的package_token项替换为该下载包在JAVA卡上的包索引,并将最高位置1,保留class_token项。

6.如权利要求1中所述的方法,其特征在于:在参考位置组件解析时,会将字节码操作数中的常量池索引替换为该常量被解析后的值。

7.如权利要求1中所述的方法,解释执行过程中涉及到的字节码anewarray用于创建一个新的对象数组,其特征在于,对anewarray字节码进行解析时,需要得到待创建的新的对象数组中每个对象所属类的class_offset,若每个对象所属类所在包与anewarray字节码所在包不同,该字节码的操作数经过参考位置组件的解析,将被替换为每个对象所属类所在包的包索引和class_token项,通过包索引可以得到包索引所指的包的导出组件的地址,然后从导出组件中根据class_token项找到对应class_export_info的位置,从中直接读出class_offset的值。

8.如权利要求1中所述的方法,解释执行过程中涉及到的字节码checkcast用于将某一类的对象强制转换为目标类的对象,其特征在于,对checkcast字节码进行解析时,当目标类为引用类型时,需要得到该目标类的绝对地址,若该目标类所在包与checkcast字节码所在包不同,该字节码的操作数经过参考位置组件的解析,将被替换为目标类所在包的包索引和class_token项,通过该包索引可以得到该包索引所指的包的导出组件的地址,然后从导出组件中根据class_token项找到对应的class_export_info的位置,从中直接读出class_offset的值,再根据包索引得到包索引所指的包的类组件的首地址,加上class_offset即为目标类在包中的绝对地址。

9.如权利要求1中所述的方法,解释执行过程中涉及到的字节码instanceof用于判断某一对象是否为目标类的类型,其特征在于,对instanceof字节码进行解析时,需要得到目标类的绝对地址,若该类所在包与instanceof字节码所在包不同,该字节码的操作数经过参考位置组件的解析,将被替换为目标类所在包的包索引和class_token项,通过该包索引可以得到包索引所指的包的导出组件的地址,然后从导出组件中根据class_token找到对应的class_export_info的位置,从中直接读出class_offset的值,再根据包索引得到包索引所指的包的类组件的首地址,加上class_offset即为目标类在包中的绝对地址。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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