【技术实现步骤摘要】
编译方法、电子设备及计算机可读存储介质
[0001]本申请涉及计算机领域,尤其涉及一种编译方法、电子设备及计算机可读存储介质。
技术介绍
[0002]目前大多数的计算机程序是使用高级语言编写的。对于开发者而言,高级语言的可读性较强,有利于编写、交流和维护计算机程序。
[0003]但是,对于电子设备而言,电子设备无法直接理解和运行高级语言编写的计算机程序。因此,电子设备在运行高级语言编写的计算机程序时,需要通过编译器将高级语言编写的计算机程序翻译成机器语言的可执行代码。
[0004]其中,编译器是指将高级语言翻译成机器语言的翻译程序。编译器的核心是中间表示(Intermediate Representation,IR),好的IR有利于编译器优化和维护上述计算机程序。
[0005]目前较为常用的IR包括图结构IR,图结构IR使用链表的形式描述不同节点的链接关系。由于图结构IR通常会产生大量的节点,因此,大量节点所形成的链表会占据大量的存储空间,影响编译器的优化速度。
技术实现思路
[000 ...
【技术保护点】
【技术特征摘要】
1.一种编译方法,其特征在于,包括:获取待编译的字节码;获取目标节点模板,使用所述目标节点模板遍历所述字节码,得到第一中间表示;所述目标节点模板包括节点指针,所述节点指针用于指示链接节点的地址与参考地址的地址偏差值,所述链接节点为所述节点指针指向的节点,所述节点指针的指针长度小于或等于预设指针长度。2.如权利要求1所述的方法,其特征在于,所述获取目标节点模板,具体包括:根据所述字节码的数量计算总占用空间的预测值;根据所述预测值确定所述目标节点模板,其中,所述预测值在所述目标节点模板的节点指针的表达范围内。3.如权利要求1所述的方法,其特征在于,所述目标节点模板为预先设置的节点模板中,所述节点指针的指针长度最短的节点模板。4.如权利要求1至3中任一项所述的方法,其特征在于,在所述得到第一中间表示之后,还包括:获取所述第一中间表示对应的总占用空间;若所述第一中间表示对应的总占用空间超出了所述目标节点模板的节点指针的表达范围,则更换所述目标节点模板,更换后的目标节点模板的节点指针的指针长度大于更换前的目标节点模板的节点指针的指针长度;使用更换后的目标节点模板遍历所述字节码,得到更换后的第一中间表示。5.如权利要求1至3中任一项所述的方法,其特征在于,在所述得到第一中间表示之后,还包括:根据预设的优化算法对所述第一中间表示进行优化,得到第二中间表示。6.如权利要求5所述的方法,其特征在于,在所述得到第二中间表示之后,还包括:获取所...
【专利技术属性】
技术研发人员:胡海亮,曾明亮,吴哲锋,李勇彪,蒋晗,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。