[发明专利]一种字节码执行方法、字节码执行装置及终端设备有效
| 申请号: | 202011465836.0 | 申请日: | 2020-12-14 |
| 公开(公告)号: | CN112506569B | 公开(公告)日: | 2023-06-20 |
| 发明(设计)人: | 邱炜伟;李伟;黄方蕾;张珂杰;刘明美 | 申请(专利权)人: | 杭州趣链科技有限公司 |
| 主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/32 |
| 代理公司: | 深圳中一联合知识产权代理有限公司 44414 | 代理人: | 肖遥 |
| 地址: | 310000 浙江省杭州市*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 字节 执行 方法 装置 终端设备 | ||
1.一种字节码执行方法,其特征在于,包括:
获取待执行的第一字节码;其中,所述第一字节码为通过编译器将需要执行的程序源代码编译成的待执行的字节码;
将所述第一字节码转换为自定义格式的第二字节码,所述第二字节码包含所述第一字节码的执行过程中每一读写数据操作对应的索引,所述第二字节码与所述第一字节码包含相同的操作码;
基于所述索引确定一段目标内存,所述目标内存包括至少一个虚拟寄存器,各个虚拟寄存器由不同的索引进行标识;
基于所述第二字节码中的各个索引所标识的虚拟寄存器,执行所述第二字节码;
所述基于所述索引确定一段目标内存,包括:
基于所述索引确定所述第二字节码的执行过程中需要使用到的虚拟寄存器的总数量;
根据所述总数量确定所述目标内存的内存大小;
根据所述内存大小确定一空闲的内存作为所述目标内存,所述目标内存用于存储所述第二字节码的执行过程中产生的运算数据。
2.根据权利要求1所述的字节码执行方法,其特征在于,所述将所述第一字节码转换为自定义格式的第二字节码,包括:
按照指令执行顺序,遍历所述第一字节码中的每一指令;
针对当前指令,根据所述当前指令的含义确定所述当前指令包括的读写数据操作对应的索引,所述当前指令为当前遍历到的指令;
根据所述当前指令包括的读写数据操作对应的索引和所述当前指令的操作码,生成新指令;
将所述第一字节码中各个指令对应的新指令进行序列化,得到所述第二字节码。
3.根据权利要求2所述的字节码执行方法,其特征在于,所述基于所述第二字节码中的各个索引所标识的虚拟寄存器,执行所述第二字节码,包括:
执行所述第二字节码中的新指令;
根据所述新指令包括的索引所标识的虚拟寄存器,执行所述新指令的操作码所指示的操作。
4.根据权利要求2所述的字节码执行方法,其特征在于,所述根据所述当前指令的含义确定所述当前指令包括的读写数据操作对应的索引,包括:
根据所述当前指令的含义判断所述当前指令包括的读写数据操作中是否存在写数据操作以及是否存在读数据操作;
若所述当前指令包括的读写数据操作中存在写数据操作,则将预设的计数值进行自增,并将自增后的计数值作为所述写数据操作对应的索引;
若所述当前指令包括的读写数据操作中存在读数据操作,则将目标写数据操作对应的索引作为所述读数据操作对应的索引,所述目标写数据操作与所述读数据操作用于操作同一数据。
5.根据权利要求2所述的字节码执行方法,其特征在于,所述根据所述当前指令包括的读写数据操作对应的索引和所述当前指令的操作码,生成新指令,包括:
将所述当前指令包括的读写数据操作对应的索引与所述当前指令的操作码进行拼接,得到所述新指令。
6.根据权利要求1所述的字节码执行方法,其特征在于,所述根据所述总数量确定所述目标内存的内存大小,包括:
将所述总数量与所述虚拟寄存器的预设内存大小的乘积作为所述目标内存的大小。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州趣链科技有限公司,未经杭州趣链科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011465836.0/1.html,转载请声明来源钻瓜专利网。





