[发明专利]一种基于前端字节码技术的JavaScript代码优化方法有效
申请号: | 201910554731.3 | 申请日: | 2019-06-25 |
公开(公告)号: | CN110399133B | 公开(公告)日: | 2020-10-27 |
发明(设计)人: | 王薇;汤战勇;王帅;薛超;房鼎益;陈晓江 | 申请(专利权)人: | 西北大学 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F8/40 |
代理公司: | 西安恒泰知识产权代理事务所 61216 | 代理人: | 张明 |
地址: | 710069 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于前端字节码技术的JavaScript代码优化方法,方法通过提出JavaScript到WebAssembly的转换工具链和设计代码段合并策略,提出一种JavaScript性能优化方案,通过动态符号执行获取程序各执行路径的变量类型信息,并且通过筛选规则获取符合转换条件的代码语句,通过设计JavaScript2C转换规则将JavaScript代码生成C代码,并通过Emscripten编译生成WebAssembly代码段。最后通过单元测试的思想对优化前后的性能和功能一致性进行比较,若性能下降或功能不一致则放弃对该代码段的优化;另一方面,设计代码段合并策略,以代码段间数据依赖关系为基础,通过提供代码段合并策略作为用户代码重构的依据,实现减少数据交互性能损失的目的,进一步提升程序的执行效率。 | ||
搜索关键词: | 一种 基于 前端 字节 技术 javascript 代码 优化 方法 | ||
【主权项】:
1.一种基于前端字节码技术的JavaScript代码优化方法,其特征在于,包括以下步骤:步骤1,执行待优化的JavaScript代码,执行过程中,获取待执行路径中的数据类型信息和数据值,以及在所有执行路径中数据类型都稳定的代码段;步骤2,遍历所述数据类型稳定的代码段的抽象语法树,当存在函数、赋值、计算逻辑、数组和控制逻辑这些节点类型时,则该代码段为可优化代码段;获取可优化代码段对前后代码中依赖的变量,得到输入变量集合和输出变量集合;步骤3,将可优化代码段转换成C代码,继而编译生成WebAssembly代码;步骤4,以获取的待执行路径中的数据值作为参数,调用可优化代码段及与其对应的WebAssembly代码,并进行性能比较和功能比较,如果性能提升并且功能一致则添加代码调用模块和数据传输模块替换可优化代码段。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西北大学,未经西北大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201910554731.3/,转载请声明来源钻瓜专利网。