[发明专利]一种字节码执行方法、字节码执行装置及终端设备有效
申请号: | 202011465836.0 | 申请日: | 2020-12-14 |
公开(公告)号: | CN112506569B | 公开(公告)日: | 2023-06-20 |
发明(设计)人: | 邱炜伟;李伟;黄方蕾;张珂杰;刘明美 | 申请(专利权)人: | 杭州趣链科技有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/32 |
代理公司: | 深圳中一联合知识产权代理有限公司 44414 | 代理人: | 肖遥 |
地址: | 310000 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 字节 执行 方法 装置 终端设备 | ||
本申请适用于计算机技术领域,提供了一种字节码执行方法、字节码执行装置及终端设备,所述方法包括:获取待执行的第一字节码;将所述第一字节码转换为自定义格式的第二字节码,所述第二字节码包含所述第一字节码的执行过程中每一读写数据操作对应的索引;基于所述索引确定一段目标内存,所述目标内存包括至少一个虚拟寄存器,各个虚拟寄存器由不同的索引进行标识;基于所述第二字节码中的各个索引所标识的虚拟寄存器,执行所述第二字节码。通过上述方法,可以使虚拟机解释执行字节码的性能得到提升。
技术领域
本申请属于计算机技术领域,尤其涉及一种字节码执行方法、字节码执行装置、终端设备及计算机可读存储介质。
背景技术
字节码(Byte-code)是一种包含执行程序,由一序列op代码/数据对组成的二进制文件,是一种中间码。字节码可以通过虚拟机进行解释执行。目前,虚拟机在解释执行字节码的过程中,使用到的内存是基于栈式结构设计的。然而,使用栈式结构的内存进行数据的读写性能非常低。
发明内容
有鉴于此,本申请提供了一种字节码执行方法、字节码执行装置、终端设备及计算机可读存储介质,可以使虚拟机解释执行字节码的性能得到提升。
第一方面,本申请提供了一种字节码执行方法,包括:
获取待执行的第一字节码;
将上述第一字节码转换为自定义格式的第二字节码,上述第二字节码包含上述第一字节码的执行过程中每一读写数据操作对应的索引;
基于上述索引确定一段目标内存,上述目标内存包括至少一个虚拟寄存器,各个虚拟寄存器由不同的索引进行标识;
基于上述第二字节码中的各个索引所标识的虚拟寄存器,执行上述第二字节码。
第二方面,本申请提供了一种字节码执行装置,包括:
获取单元,用于获取待执行的第一字节码;
转换单元,用于将上述第一字节码转换为自定义格式的第二字节码,上述第二字节码包含上述第一字节码的执行过程中每一读写数据操作对应的索引;
确定单元,用于基于上述索引确定一段目标内存,上述目标内存包括至少一个虚拟寄存器,各个虚拟寄存器由不同的索引进行标识;
执行单元,用于基于上述第二字节码中的各个索引所标识的虚拟寄存器,执行上述第二字节码。
第三方面,本申请提供了一种终端设备,包括存储器、处理器以及存储在上述存储器中并可在上述处理器上运行的计算机程序,上述处理器执行上述计算机程序时实现如上述第一方面所提供的方法。
第四方面,本申请提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现如第一方面所提供的方法。
第五方面,本申请提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面所提供的方法。
由上可见,在本申请方案中,首先获取待执行的第一字节码,将上述第一字节码转换为自定义格式的第二字节码,上述第二字节码包含上述第一字节码的执行过程中每一读写数据操作对应的索引,然后基于上述索引确定一段目标内存,上述目标内存包括至少一个虚拟寄存器,各个虚拟寄存器由不同的索引进行标识,最后基于上述第二字节码中的各个索引所标识的虚拟寄存器,执行上述第二字节码。本申请方案通过将待执行的第一字节码转换为自定义格式的第二字节码,在第二字节码中添加第一字节码的执行过程中每一读写数据操作对应的索引,使得虚拟机在解释执行第二字节码时能够根据各个索引快速确定当前需使用的虚拟寄存器,可以使虚拟机解释执行字节码的性能得到提升。可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州趣链科技有限公司,未经杭州趣链科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011465836.0/2.html,转载请声明来源钻瓜专利网。