【技术实现步骤摘要】
基于执行树深度的二进制翻译方法和装置
本专利技术涉及计算机
,具体而言,特别涉及基于执行树深度的二进制翻译方法和装置。
技术介绍
二进制翻译是指把一种源处理器的二进制程序翻译为另外一种目标处理器上的机器语言的方法,以使被翻译的程序能够在目标处理器上可以执行。在二进制翻译方法中,把多个基本块构建为一个超级块,其中,基本块是指只有单入口和单出口的一段指令,超级块是指多个基本块的集合。 现有方法是把具有先后执行顺序的、已经在源处理器上执行过的多个基本块组成一个超级块,然后对这个超级块进行翻译。因此,现有的翻译方法没有把在源处理器上未执行的基本块翻译在超级块中,在目标处理器中执行程序时,执行效率低。 针对现有技术中存在的目标处理器执行二级制翻译后的超级块的性能低的问题,目前尚未提出有效的解决方法。
技术实现思路
本专利技术的主要目的在于提供一种基于执行树深度的二进制翻译方法和装置,以解决现有技术中的目标处理器执行二级制翻译后的超级块的性能低问题。 依据本专利技术的一个方面,提供了一种基于执行树深度的二进制翻译方法。 根据本 ...
【技术保护点】
一种基于执行树深度的二进制翻译方法,其特征在于,包括:步骤S0:开始构造超级块,将执行树深度初始化为0,并获取预设的执行树深度阈值,从预设的起始地址所在的基本块开始翻译;步骤S1:翻译获取到的基本块;步骤S2:若翻译的基本块的当前指令为直接跳转指令,则获取所述直接跳转指令进入的基本块,并返回至步骤S1;步骤S3:若翻译的基本块的当前指令为条件跳转指令,则获取所述条件跳转指令跳转后的基本块和所述条件跳转指令的下一个基本块,并且将执行树深度加1,返回至步骤S1; 步骤S4:若翻译的基本块的当前指令为函数调用指令,则获取所述函数调用指令对应的函数作为基本块,并且将执行树深度加1, ...
【技术特征摘要】
1.一种基于执行树深度的二进制翻译方法,其特征在于,包括: 步骤SO:开始构造超级块,将执行树深度初始化为0,并获取预设的执行树深度阈值,从预设的起始地址所在的基本块开始翻译; 步骤S1:翻译获取到的基本块; 步骤S2:若翻译的基本块的当前指令为直接跳转指令,则获取所述直接跳转指令进入的基本块,并返回至步骤SI ; 步骤S3:若翻译的基本块的当前指令为条件跳转指令,则获取所述条件跳转指令跳转后的基本块和所述条件跳转指令的下一个基本块,并且将执行树深度加1,返回至步骤SI ;步骤S4:若翻译的基本块的当前指令为函数调用指令,则获取所述函数调用指令对应的函数作为基本块,并且将执行树深度加1,返回至步骤SI, 其中,在每次执行树深度加I之后,判断当前的执行树深度是否达到所述执行树深度阈值,若所述执行树深度达到所述执行树深度阈值,则翻译结束,翻译的所有基本块构成一个超级块。2.根据权利要求1所述的基于执行树深度的二进制翻译方法,其特征在于,还包括: 步骤S5:在执行步骤SI之后,存储所述基本块的第一条指令的地址。3.根据权利要求1或2所述的基于执行树深度的二进制翻译方法,其特征在于,还包括: 步骤S6:在获取预设的执行树深度阈值的同时,获取预设的翻译时间阈值,并且在开始翻译时计时, 其中,在每次执行树深度加I之后,判断当前计时的翻译时间是否达到所述翻译时间阈值,若所述当前计时的翻译时间达到所述翻译时间阈值,则翻译结束。4.一种基于执行树深度的二进制翻译装置,其特征...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。