[发明专利]一种字节码指令集精简方法和系统在审
申请号: | 202011550106.0 | 申请日: | 2020-12-24 |
公开(公告)号: | CN112631722A | 公开(公告)日: | 2021-04-09 |
发明(设计)人: | 石玉平;郑江东;王幼君 | 申请(专利权)人: | 北京握奇数据股份有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 北京天悦专利代理事务所(普通合伙) 11311 | 代理人: | 任晓航;杨方 |
地址: | 100102 北京市朝阳区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 字节 指令 精简 方法 系统 | ||
本发明公开了一种字节码指令集精简方法和系统,精简方法包括以下步骤:S100、基于不同的引用类型,将常量池划分为对应的多个子常量池;S200、基于每种引用类型的引用的个数,统计每种引用类型对应的指令出现的次数,按照从高到低的顺序放入对应的子常量池中,每种引用类型对应的指令的常量池索引为每种引用类型对应的子常量池的索引;S300、基于每种引用类型对应的指令的生成条件,生成对应的单字节常量池索引的指令。本发明可以精简虚拟机字节码,减少字节码的存储空间,提高字节码的执行性能。
技术领域
本发明涉及虚拟机指令集,具体涉及一种字节码指令集精简方法和系统。
背景技术
虚拟机是由一种被处理器执行的软件应用程序或指令序列产生的抽象计算机,虚拟机可以执行虚拟机支持的指令集,指令集有基于操作数栈和基于寄存器两类指令集,Java Card虚拟机的指令集基于操作数栈,Dalvik虚拟机的指令集基于寄存器。采用现有的Dalvik虚拟机指令集生成的字节码占用存储空间较大,执行性能较佳,而采用Java Card虚拟机的指令集生成的字节码占用存储空间较小,但执行性能一般,因此,为了满足更高的性能需求,亟需设计一种精简指令的方法,用以既可以节省存储空间,又可以提高执行性能,同时适用于上述两类指令集。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种字节码指令集精简方法和系统,可以精简虚拟机字节码,减少字节码的存储空间,提高字节码的执行性能。
为实现上述目的,本发明采用的技术方案如下:
一种字节码指令集精简方法,适用于基于操作数栈和基于寄存器的指令集,所述精简方法包括以下步骤:
S100、基于不同的引用类型,将常量池划分为对应的多个子常量池;
S200、基于每种引用类型的引用的个数,统计每种引用类型对应的指令出现的次数,按照从高到低的顺序放入对应的子常量池中,其中,每种引用类型对应的指令的常量池索引为每种引用类型对应的子常量池的索引;
S300、基于每种引用类型对应的指令的生成条件,生成对应的单字节常量池索引的指令。
进一步,如上所述的精简方法,所述引用类型包括类的引用、静态方法的引用、虚方法的引用、super方法的引用、静态域的引用、实例域的引用,所述多个子常量池包括:所述类的子常量池、所述静态方法的子常量池、所述虚方法的子常量池、所述super方法的子常量池、所述静态域的子常量池、所述实例域的子常量池。
进一步,如上所述的精简方法,S200包括:
若所述实例域的引用的个数超过256,则统计引用类型的实例域访问指令出现的次数,按照次数从高到低的顺序放入所述实例域的子常量池中,否则直接放入所述实例域的子常量池中;
若所述静态域的引用的个数超过256,则统计包内引用类型的静态域访问指令出现的次数,按照次数从高到低的顺序放入所述静态域的子常量池中,否则直接放入所述静态域的子常量池中;
若所述虚方法的引用的个数超过256,则统计每个虚方法调用指令出现的次数,按照次数从高到低的顺序放入所述虚方法的子常量池中,否则直接放入所述虚方法的子常量池中;
若所述静态方法的引用的个数超过256,则先统计调用库包中的静态方法指令出现的次数,按照次数从高到低的顺序优先放入所述静态方法的子常量池中,然后再统计每个调用包内静态方法指令出现的次数,按照次数从高到低的顺序放入所述静态方法的子常量池中,否则直接放入所述静态方法的子常量池中。
进一步,如上所述的精简方法,所述统计包内引用类型的静态域访问指令出现的次数,按照次数从高到低的顺序放入所述静态域的子常量池中,包括:
统计包内引用类型的静态域访问指令出现的次数,按照次数从高到低的顺序优先放置在所述静态域的子常量池的前端。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京握奇数据股份有限公司,未经北京握奇数据股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011550106.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:环境适配的定位方法及系统
- 下一篇:一种动态生成SDR信息的方法和设备