【技术实现步骤摘要】
一种优化wasm字节码的方法及执行方法、计算机设备及存储介质
[0001]本说明书实施例属于编译
,尤其涉及一种优化wasm字节码的方法及执行方法、计算机设备及存储介质。
技术介绍
[0002]WebAssembly是由W3C社区组开发的开放标准,是一种安全,可移植的低级代码格式,专为高效执行和紧凑表示而设计,可以接近原生的性能运行,并为诸如C、C++、Java、Go等语言提供一个编译目标。WASM虚拟机起初设计的目的是用于解决Web程序日益严峻的性能问题,由于其具有的优越特性,被越来越多的非Web项目所采用,例如替代区块链智能合约执行引擎EVM。
技术实现思路
[0003]本专利技术的目的在于提供一种优化wasm字节码的方法,一种执行所述优化后的wasm字节码的方法,计算机设备及存储介质,包括:
[0004]本申请提供一种优化wasm字节码的方法,包括:
[0005]读取wasm字节码并解析,得到wasm模块对象;
[0006]根据解析得到的wasm模块对象创建线性内存并填充线 ...
【技术保护点】
【技术特征摘要】
1.一种优化wasm字节码的方法,包括:读取wasm字节码并解析,得到wasm模块对象;根据解析得到的wasm模块对象创建线性内存并填充线性内存;执行所述wasm模块对象中的start函数,对所述start函数的执行结果数据压缩,并采用所述经压缩的执行结果修改线性内存;采用修改后的线性内存中的数据替换wasm模块对象中的对应数据段;编码替换数据段后的wasm模块并保存为wasm字节码。2.如权利要求1所述的方法,所述压缩包括编码压缩、字典压缩、游程编码、变换压缩、预测压缩中的任一种。3.如权利要求1所述的方法,在所述编码前还包括去除wasm模块对象中的start函数。4.如权利要求1所述的方法,所述压缩包括采用三段结构(offset,length,value),offset表示起始位置,length表示长度,value表示值。5.如权利要求4所述的方法,对于其中连续重复的值或结构,通过省略这些位置的三段结构以表示。6.如权利要求5所述的方法,所述连续重复的值包括连续重复的整数。7.一种执行如权利要求1所述的优化后的wasm字节码的方法,包括:读取所述优化后的wasm字节码并解析,得到wasm...
【专利技术属性】
技术研发人员:周维,张磊,
申请(专利权)人:蚂蚁区块链科技上海有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。