[发明专利]针对动态语言的处理及优化方法、装置、设备及存储介质有效
申请号: | 201810213504.X | 申请日: | 2018-03-15 |
公开(公告)号: | CN110275709B | 公开(公告)日: | 2023-07-25 |
发明(设计)人: | 苏振宇;吴哲锋;孙哲;徐伟刚;金一华 | 申请(专利权)人: | 斑马智行网络(香港)有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 上海华诚知识产权代理有限公司 31300 | 代理人: | 徐颖聪 |
地址: | 中国香港九龙长沙湾道*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本公开提出了一种针对动态语言的处理及优化方法、装置、设备及存储介质。基于中间文件中的程序代码分析得到抽象语法树,基于中间文件中的标注信息分析得到相应程序代码的类型描述信息,并将类型描述信息附加到抽象语法树上相应的节点上。遍历抽象语法树,以基于节点间的关联关系以及节点的类型描述信息,得到类构造的对象所拥有的属性及类型信息,以生成隐藏类,并将隐藏类附加到该对象所对应的类定义节点上,以便基于带有隐藏类的抽象语法树,生成优化代码。由此,通过在编译时预生成隐藏类,可以提前知道对象布局信息,从而可以基于预生成的隐藏类,对源文件进行优化以避免运行时添加属性创建隐藏类和扩展对象布局的开销,提高运行速率。 | ||
搜索关键词: | 针对 动态 语言 处理 优化 方法 装置 设备 存储 介质 | ||
【主权项】:
1.一种针对动态语言的优化方法,用于对基于动态语言编写的源文件进行优化,其特征在于,包括:基于所述源文件获得带有标注信息的中间文件,所述标注信息用于标注所述源文件中的至少部分程序代码的数据类型;基于所述中间文件中的程序代码进行分析得到抽象语法树,其中,对所述标注信息进行分析得到相应程序代码的类型描述信息,并且将所述类型描述信息附加到所述抽象语法树上相应程序代码对应的节点上;遍历所述抽象语法树,以基于节点间的关联关系以及所述节点的类型描述信息,得到类构造的对象所拥有的属性及类型信息,根据所述属性及类型信息生成隐藏类,并将所述隐藏类附加到该对象所对应的类定义节点上;以及基于所述抽象语法树以及所述类定义节点上的隐藏类,生成优化代码。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于斑马智行网络(香港)有限公司,未经斑马智行网络(香港)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201810213504.X/,转载请声明来源钻瓜专利网。