1.一种计算机实现的用于数据处理的方法,包括:
获得从包括一个或多个输入参数的源代码编译的字节码,所述源代码包括编码函数以对所述一个或多个输入参数进行编码、将所述编码的一个或多个输入参数存储在存储段中、并提供所述存储段的存储位置;
根据所述字节码执行所述编码函数,以对所述一个或多个输入参数进行编码,从而获得存储有所述编码的一个或多个输入参数的所述存储段的所述存储位置;以及
将所述存储位置提供给用于检索所述编码的一个或个输入参数并对所述编码的一个或多个输入参数进行解码的函数,从而获得所述一个或多个输入参数。
2.根据权利要求1所述的方法,其中:
所述一个或多个输入参数中的至少一个输入参数包括指针型变量。
3.根据权利要求2所述的方法,其中:
所述指针型变量包括多个间接型变量。
4.根据权利要求1至3中任一项所述的方法,其中,所述存储段的所述存储位置包括:
与所述存储段的起始或结束地址对应的指针,以及
与所述存储段对应的数据长度。
5.根据权利要求1至3中任一项所述的方法,其中,所述存储段的所述存储位置包括:
与所述存储段的起始地址对应的第一指针,和
与所述存储段的结束地址对应的第二指针。
6.根据前述任一项权利要求所述的方法,其中:
所述方法由虚拟机执行;以及
获得从包括所述一个或多个输入参数的所述源代码编译的所述字节码包括:从计算设备获得由与所述计算设备关联的编译器从包括所述一个或多个输入参数的所述源代码编译的所述字节码。
7.根据权利要求6所述的方法,其中:
所述虚拟机和所述编译器具有不同的字长。
8.根据权利要求6和7中任一项所述的方法,其中:
所述虚拟机是基于webassemblywasm格式的。
9.根据权利要求1至3和6至8中任一项所述的方法,其中,
所述存储位置包括存储有与所述存储段对应的地址的指针,并且
所述地址通过在从所述源代码编译的所述字节码中的编译而被移位。
10.根据权利要求9所述的方法,还包括:
执行所述函数,其中执行所述函数包括:
根据所述虚拟机的存储起始位置和所述虚拟机获得的地址移位,恢复所述移位的地址;
根据所述恢复的地址,检索所述编码的一个或多个输入参数;以及
对所述编码的一个或多个输入参数进行解码以检索所述一个或多个输入参数。
11.根据权利要求10所述的方法,其中,执行所述函数还包括:
基于所述一个或多个输入参数调用另一函数以返回一个或多个输出参数;以及
对所述一个或多个输出参数进行编码。
12.根据权利要求11所述的方法,其中,基于所述一个或多个输入参数调用所述另一函数以返回所述一个或多个输出参数包括:
调用所述另一函数以返回区块链的状态。
13.一种用于数据处理的系统,包括:
一个或多个处理器;以及
耦接到所述一个或多个处理器且其上存储有指令的一个或多个计算机可读存储器,所述指令能由所述一个或多个处理器执行以执行权利要求1至12中任一项所述的方法。
14.一种用于数据处理的装置,包括用于执行权利要求1至12中任一项所述的方法的多个模块。
15.一种存储有指令的非暂时性计算机可读介质,所述指令在由设备的处理器执行时,促使所述设备执行权利要求1至12中任一项所述的方法。