指令地址获取方法和即时编译器技术

技术编号:16079487 阅读:92 留言:0更新日期:2017-08-25 15:17
本发明专利技术实施例提供一种指令地址获取方法和即时编译器,其中,该方法包括:确定目标指令;在所述目标指令前插入加载预设地址至预设寄存器的指令;将所述预设地址更新为所述目标指令的地址。当程序运行到目标指令时,目标指令的地址已经存储在预设寄存器中,因此后续代码可以直接访问使用存储在预设寄存器中的目标指令的地址。由于通过加载预设地址常量到预设寄存器的指令来实现存储目标指令的地址到预设寄存器的目的,不会打断代码执行的流水线,因此提高了代码执行效率。

【技术实现步骤摘要】
指令地址获取方法和即时编译器
本专利技术实施例涉及计算机
,尤其涉及一种指令地址获取方法和即时编译器。
技术介绍
在即时编译器中,经常需要获取目标指令地址,以便在编译过程中做出指令顺序的调整或者将指令地址保存以供后续代码使用。现有技术中,无内部互锁流水线的微处理器(Microprocessorwithoutinterlockedpipedstages,简称:MIPS)架构下,获取目标指令地址的过程为:首先确定目标指令,在目标指令前插入一条跳转空函数指令和延迟槽,在执行跳转空函数指令时,硬件会将目标指令的地址放于31号寄存器中,从而在运行至目标指令时,目标指令的地址已经位于31号寄存器,后续代码可以直接访问31号寄存器,获取目标指令的地址。然而,跳转指令会打断代码流水线,造成代码执行效率低下。
技术实现思路
本专利技术实施例提供一种指令地址获取方法和即时编译器,用于解决现有技术的问题,提高代码执行效率。第一方面,本专利技术实施例提供一种指令地址获取方法,包括:确定目标指令;在所述目标指令前插入加载预设地址至预设寄存器的指令;将所述预设地址更新为所述目标指令的地址。第二方面,本专利技术本文档来自技高网...
指令地址获取方法和即时编译器

【技术保护点】
一种指令地址获取方法,其特征在于,包括:即时编译器确定目标指令;即时编译器在所述目标指令前插入用于将预设地址加载至预设寄存器的指令;即时编译器将所述预设地址更新为所述目标指令的地址;当执行所述目标指令时,直接访问所述预设寄存器并使用存储在所述预设寄存器中的所述目标指令的地址。

【技术特征摘要】
1.一种指令地址获取方法,其特征在于,包括:即时编译器确定目标指令;即时编译器在所述目标指令前插入用于将预设地址加载至预设寄存器的指令;即时编译器将所述预设地址更新为所述目标指令的地址;当执行所述目标指令时,直接访问所述预设寄存器并使用存储在所述预设寄存器中的所述目标指令的地址。2.根据权利要求1所述的方法,其特征在于,所述在所述目标指令前插入用于将预设地址加载至预设寄存器的指令之后,还包括:确定所述目标指令的地址。3.根据权利要求1所述的方法,其特征在于,所述在所述目标指令前插入用于将预设地址加载至预设寄存器的指令之后,还包括:在所述目标指令前插入压栈保存所述预设寄存器的指令。4.根据权利要求1-3任意一项所述的方法,其特征在于,所述预设地址为地址常量。5.根据权利要求1-3任意一项所述的方法,其特征在于,所述预设寄存器为存储常数的寄存器或者是处于空闲状态的寄存器。6.一种即时编译器,其特征在...

【专利技术属性】
技术研发人员:余银薛双柏王策彭飞
申请(专利权)人:龙芯中科技术有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1