【技术实现步骤摘要】
基本块管理方法及电子设备
[0001]本申请涉及计算机
,尤其基本块管理方法及电子设备。
技术介绍
[0002]中间代码(intermediate code),又可称为中间表示(intermediate representation,IR),用于表示对源代码进行语法分析后到生成目标代码之间的代码。通过编译器编译后,可将中间代码编译成计算机等机器能够直接执行的目标代码。编译器可将中间代码划分成至少一个基本块(basic block),并构造流图,通过流图来表示各个基本块间的执行顺序。将中间代码划分成基本块后,可通过对基本块进行管理,例如删除、修改、插入基本块等操作,便于优化中间代码。如何管理基本块是亟待解决的技术问题。
技术实现思路
[0003]本申请实施例提供一种基本块管理方法及电子设备,可基于日志打印语句实现基本块管理,减少日志打印的数量。
[0004]第一方面,本申请实施例提供了一种基本块管理方法,该方法可由电子设备执行,或由与电子设备匹配的装置执行,例如由处理器、芯片或芯片系统等执行。该方 ...
【技术保护点】
【技术特征摘要】
1.一种基本块管理方法,其特征在于,所述方法包括:响应于目标基本块中的第j条语句为日志打印语句,拆分所述目标基本块,得到第一基本块、第二基本块和第三基本块;所述第一基本块包括所述目标基本块中的第1条语句至第j
‑
1条语句,所述第二基本块包括所述第j条语句,所述第三基本块包括所述目标基本块中的第j+1条语句至最后一条语句;其中,所述目标基本块为中间代码划分的至少一个基本块中的任意一个;j为大于1的整数;构建包括第一跳转语句的第四基本块,并在所述第二基本块中插入所述第一跳转语句,得到第五基本块;所述第一跳转语句用于指示在执行完所述第一跳转语句后跳转执行所述第三基本块;在所述第一基本块中插入第一条件语句,得到第六基本块;所述第一条件语句用于指示在执行完所述第一条件语句后跳转执行所述第四基本块或第五基本块;确定所述第六基本块、所述第五基本块以及所述第三基本块之间的执行顺序,或确定所述第六基本块、所述第四基本块以及所述第三基本块之间的执行顺序。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:读取所述第j条语句的语句内容;响应于所述语句内容包括调用日志打印方法,确定所述第j条语句为所述日志打印语句。3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:响应于所述第j条语句满足打印条件,确定所述第一条件语句用于指示在执行完所述第一条件语句后,跳转执行所述第五基本块;所述确定所述第六基本块、所述第五基本块以及所述第三基本块之间的执行顺序,包括:确定所述第六基本块的后继节点为所述第五基本块,所述第五基本块的后继节点为所述第三基本块。4.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:响应于所述第j条语句不满足打印条件,确定所述第一条件语句用于指示在执行完所述第一条件语句后,跳转执行所述第四基本块;所述确定所述第六基本块、所述第四基本块以及所述第三基本块之间的执行顺序,包括:确定所述第六基本块的后继节点为所述第四基本块,所述第四基本块的后继节点为所述第三基本块。5.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:响应于所述目标基本块中的第j+i条语句为返回语句且所述第j+i条语句引用所述第j条语句,在所述第四基本块中插入常量语句,得到第七基本块;其中,i为大于1的整数;在所述第三基本块中插入选择函数语句,并将所述第三基本块中的所述第j+i条语句引用所述第j条语句修改为所述第j+i条语句引用所述选择函数语句,得到第八基本块;其中,所述选择函数语句的执行顺序先于所述第j+i条语句的...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。