指令处理方法、终端设备及计算机可读存储介质技术

技术编号:37110074 阅读:11 留言:0更新日期:2023-04-01 05:08
本申请提供了一种指令处理方法,该方法包括:确定预设的指令集对应的存储空间,存储空间包括多个存储位置,每个存储位置对应有索引信息,存储位置用于存储指令集中各个指令对应的运行数据;确定指令集中的目标数据指令以及确定目标数据指令对应的第一运行数据所在存储位置的第一目标索引信息;确定指令集中的目标运算指令以及确定目标运算指令对应的第二运行数据所在存储位置的第二目标索引信息,目标运算指令对应的第二运行数据表征对目标数据指令对应的第一运行数据进行运算的运算结果;对目标数据指令进行删除,并根据第一目标索引信息和第二目标索引信息,更新目标运算指令。该方法能够有效的节省代码的存储空间。该方法能够有效的节省代码的存储空间。该方法能够有效的节省代码的存储空间。

【技术实现步骤摘要】
指令处理方法、终端设备及计算机可读存储介质


[0001]本申请涉及计算机
,具体涉及一种指令处理方法、终端设备及计算机可读存储介质。

技术介绍

[0002]在WebAssembly代码(又称wasm码),运行时,会将栈式的wasm代码先转化为寄存器式的wasm码,从而再进行整套代码的执行。而wasm代码的结构从栈式转变到寄存器式时会添加一些索引信息,使得整个代码指令集中的每条指令都比原先的指令更长,这样便会导致整个wasm的字节码膨胀变大,从而进一步导致寄存器的空间占用。因此,需要减轻寄存器的存储负担。

技术实现思路

[0003]本申请提供的指令处理方法,能够根据指令集中的目标数据指令的索引信息,将目标数据指令与目标运行指令进行更新合并,减轻了寄存器的存储负担。
[0004]第一方面,本申请提供了一种指令处理方法,所述方法包括:
[0005]确定预设的指令集对应的存储空间,所述存储空间包括多个存储位置,每个存储位置对应有索引信息,所述存储位置用于存储指令集中各个指令对应的运行数据;
[0006]确定所述指令集中的目标数据指令以及确定所述目标数据指令对应的第一运行数据所在存储位置的第一目标索引信息;
[0007]确定所述指令集中的目标运算指令以及确定所述目标运算指令对应的第二运行数据所在存储位置的第二目标索引信息,所述目标运算指令对应的第二运行数据表征对所述目标数据指令对应的第一运行数据进行运算的运算结果;
[0008]对所述目标数据指令进行删除,并根据所述第一目标索引信息和所述第二目标索引信息,更新所述目标运算指令。
[0009]在本申请一些实施例中,所述确定预设的指令集对应的存储空间,包括:
[0010]获取所述指令集的指令入参;
[0011]根据所述指令入参,确定空间第一划分参数;
[0012]获取所述指令集中目标指令的数量;
[0013]根据所述目标指令的数量,确定空间第二划分参数;
[0014]根据所述空间第一划分参数和所述空间第二划分参数,对初始存储空间进行划分,得到所述指令集对应的存储空间。
[0015]在本申请一些实施例中,所根据所述空间第一划分参数和所述空间第二划分参数,对初始存储空间进行划分,得到所述指令集对应的存储空间,包括:
[0016]确定所述初始存储空间中的第一索引信息和第二索引信息;
[0017]根据所述第一索引信息和所述第二索引信息,对所述初始存储空间进行划分,得到第一存储空间以及初始第二存储空间;
[0018]根据所述空间第一划分参数和所述空间第二划分参数,对所述初始第二存储空间进行划分,得到第二存储空间、第三存储空间和第四存储空间,所述第一存储空间以及所述第二存储空间用于存储所述目标数据指令对应的运行数据、所述第三存储空间用于存储目标运算指令对应的运行数据、所述第四存储空间用于存储临时运行数据。
[0019]在本申请一些实施例中,所述确定所述目标数据指令对应的第一运行数据所在存储位置的第一目标索引信息,包括:
[0020]确定所述目标数据指令的指令类型;
[0021]根据所述指令类型,确定所述目标数据指令对应的第一运行数据所在存储位置的第一目标索引信息。
[0022]在本申请一些实施例中,所述根据所述指令类型,确定所述目标数据指令对应的第一运行数据所在存储位置的第一目标索引信息,包括:
[0023]若所述目标数据指令为常量类型,确定所述存储空间的第一存储空间的占用情况,根据所述第一存储空间的占用情况,确定所述目标数据指令对应的第一运行数据所在存储位置的第一目标索引信息;
[0024]若所述目标数据指令为调用类型,确定所述存储空间的第二存储空间中各个存储位置的索引信息中与所述目标数据指令的立即数匹配的索引信息,将匹配的索引信息确定为第一目标索引信息;
[0025]若所述目标数据指令为赋值类型,根据所述目标数据指令的立即数和所述指令集中指令的执行顺序,确定所述目标数据指令匹配的第一目标索引信息。
[0026]在本申请一些实施例中,所述若所述目标数据指令为赋值类型,根据所述目标数据指令的立即数和所述指令集中指令的执行顺序,确定所述目标数据指令匹配的第一目标索引信息,包括:
[0027]根据所述执行顺序,确定所述目标数据指令相邻的前一条指令;
[0028]若所述前一条指令为目标运算指令,且所述前一条指令将运算的运算结果写入所述存储空间中第三存储空间,则确定所述存储空间的第二存储空间中各个存储位置的索引信息中与所述目标数据指令的立即数匹配的索引信息,将匹配的索引信息确定为第一目标索引信息。
[0029]在本申请一些实施例中,所述确定所述目标运算指令对应的第二运行数据所在存储位置的第二目标索引信息,包括:
[0030]确定所述存储空间的第三存储空间的占用情况,根据所述第三存储空间的占用情况,确定所述目标运算指令对应的第二运行数据所在存储位置的第二目标索引信息。
[0031]在本申请一些实施例中,所述对所述目标数据指令进行删除,并根据所述第一目标索引信息和所述第二目标索引信息,更新所述目标运算指令之前,所述方法还包括:
[0032]通过预设的索引栈,将所述第一目标索引信息和所述第二目标索引信息,根据所述指令集的执行规则放入所述索引栈中进行入栈和出栈的计算,得到入栈后和出栈后的索引信息;
[0033]所述根据所述第一目标索引信息和所述第二目标索引信息更新所述目标运算指令,包括:
[0034]根据入栈后和出栈后的索引信息,更新所述目标运算指令。
[0035]第二方面,本申请实施例还提供了一种指令处理装置,所述装置包括:
[0036]第一确定模块,用于确定预设的指令集对应的存储空间,所述存储空间包括多个存储位置,每个存储位置对应有索引信息,所述存储位置用于存储指令集中各个指令对应的运行数据;
[0037]第二确定模块,用于确定所述指令集中的目标数据指令以及确定所述目标数据指令对应的第一运行数据所在存储位置的第一目标索引信息;
[0038]第三确定模块,用于确定所述指令集中的目标运算指令以及确定所述目标运算指令对应的第二运行数据所在存储位置的第二目标索引信息,所述目标运算指令对应的第二运行数据表征对所述目标数据指令对应的第一运行数据进行运算的运算结果;
[0039]更新模块,用于对所述目标数据指令进行删除,并根据所述第一目标索引信息和所述第二目标索引信息,更新所述目标运算指令。
[0040]在本申请一些实施例中,所述第一确定模块具体用于:
[0041]获取所述指令集的指令入参;
[0042]根据所述指令入参,确定空间第一划分参数;
[0043]获取所述指令集中目标指令的数量;
[0044]根据所述目标指令的数量,确定空间第二划分参数;
[0045]根据所述空间第一划分参数和所述空间第二本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种指令处理方法,其特征在于,所述方法包括:确定预设的指令集对应的存储空间,所述存储空间包括多个存储位置,每个存储位置对应有索引信息,所述存储位置用于存储指令集中各个指令对应的运行数据;确定所述指令集中的目标数据指令以及确定所述目标数据指令对应的第一运行数据所在存储位置的第一目标索引信息;确定所述指令集中的目标运算指令以及确定所述目标运算指令对应的第二运行数据所在存储位置的第二目标索引信息,所述目标运算指令对应的第二运行数据表征对所述目标数据指令对应的第一运行数据进行运算的运算结果;对所述目标数据指令进行删除,并根据所述第一目标索引信息和所述第二目标索引信息,更新所述目标运算指令。2.根据权利要求1所述的指令处理方法,其特征在于,所述确定预设的指令集对应的存储空间,包括:获取所述指令集的指令入参;根据所述指令入参,确定空间第一划分参数;获取所述指令集中目标指令的数量;根据所述目标指令的数量,确定空间第二划分参数;根据所述空间第一划分参数和所述空间第二划分参数,对初始存储空间进行划分,得到所述指令集对应的存储空间。3.根据权利要求2所述的指令处理方法,其特征在于,所述根据所述空间第一划分参数和所述空间第二划分参数,对初始存储空间进行划分,得到所述指令集对应的存储空间,包括:确定所述初始存储空间中的第一索引信息和第二索引信息;根据所述第一索引信息和所述第二索引信息,对所述初始存储空间进行划分,得到第一存储空间以及初始第二存储空间;根据所述空间第一划分参数和所述空间第二划分参数,对所述初始第二存储空间进行划分,得到第二存储空间、第三存储空间和第四存储空间,所述第一存储空间以及所述第二存储空间用于存储所述目标数据指令对应的运行数据、所述第三存储空间用于存储目标运算指令对应的运行数据、所述第四存储空间用于存储临时运行数据。4.根据权利要求1所述的指令处理方法,其特征在于,所述确定所述目标数据指令对应的第一运行数据所在存储位置的第一目标索引信息,包括:确定所述目标数据指令的指令类型;根据所述指令类型,确定所述目标数据指令对应的第一运行数据所在存储位置的第一目标索引信息。5.根据权利要求4所述的指令处理方法,其特征在于,所述根据所述指令类型,确定所述目标数据指令对应的第一运行数据所在存储位置的第一目标索引信息,包括:若所述目标数据指令为常量类型,确定所述存储空间的第一存储空间的占用情况,...

【专利技术属性】
技术研发人员:黄方蕾邱炜伟李凯张珂杰胡麦芳
申请(专利权)人:杭州趣链科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1