【技术实现步骤摘要】
本专利技术涉及计算机,尤其涉及一种可执行文件的字节码优化方法、装置及电子设备。
技术介绍
1、计算机或者虚拟机的指令集,有时候会为了适应不同的使用场景而进行修改。例如安卓的dalvik虚拟机指令集,dalvik虚拟机一般是运行在手机处理器上的,如果想在一个存储器资源和计算能力有限的mcu芯片上运行dalvik虚拟机,就需要考虑对dalvik虚拟机的指令集做一些改造。
2、比如dalvik虚拟机中有“if-test va,vb,+cccc”一类的指令,该指令比较寄存器va和vb,决定是否跳转,应用程序源码中,很多时候的写法是比较一个变量和一个常数,比如“if(var==3){...}”这种写法,编译器生成dalvik虚拟机的字节码时,需要先使用一个寄存器赋值常数指令,将常数3赋值到一个寄存器(假设为寄存器v1),然后再使用“if-testva,vb,+cccc”类指令比较var变量所在的寄存器(假设为v0)和v1,本例子中可以生成如下两个指令:const/4v1,0x3(v1寄存器赋值为3)、if-ne v0,v1,:xxxx
...【技术保护点】
1.一种可执行文件的字节码优化方法,其特征在于,包括:
2.如权利要求1所述的方法,其特征在于,所述获取可执行文件的函数并对所述函数的字节码进行分块,以获得多个程序块,包括:
3.如权利要求2所述的方法,其特征在于,所述根据所述函数的第一个指令以及排序后的X个所述跳转目标地址的指令确定多个程序块,包括:
4.如权利要求2所述的方法,其特征在于,所述根据所述函数的第一个指令以及排序后的X个所述跳转目标地址的指令确定多个程序块,包括:
5.如权利要求1所述的方法,其特征在于,所述在所述程序块内搜索到寄存器赋值常数指令时,判断
...【技术特征摘要】
1.一种可执行文件的字节码优化方法,其特征在于,包括:
2.如权利要求1所述的方法,其特征在于,所述获取可执行文件的函数并对所述函数的字节码进行分块,以获得多个程序块,包括:
3.如权利要求2所述的方法,其特征在于,所述根据所述函数的第一个指令以及排序后的x个所述跳转目标地址的指令确定多个程序块,包括:
4.如权利要求2所述的方法,其特征在于,所述根据所述函数的第一个指令以及排序后的x个所述跳转目标地址的指令确定多个程序块,包括:
5.如权利要求1所述的方法,其特征在于,所述在所述程序块内搜索到寄存器赋值常数指令时,判断所述寄存器赋值常数指令的后续指令中的寄存器是否替换为预设赋值常数,包括:
6.如权利要求1所述的方法,其特征在于,所述在所述程序块内判断所述寄存器赋值常数指令之后是否存在将第一寄存器作为...
【专利技术属性】
技术研发人员:严泽旭,周杰,肖灵,董逢华,
申请(专利权)人:武汉天喻信息产业股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。