独立于踪迹的存储地址来定义踪迹句柄制造技术

技术编号:4446555 阅读:213 留言:0更新日期:2012-04-11 18:40
提供一种与存储器无关的用于踪迹的句柄。使用踪迹的内容而不是踪迹的存储器位置来创建句柄。这使得能够在与踪迹关联的应用的后续运行中容易地标识该踪迹。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术主要地涉及在处理环境内执行的跟踪,并且具体地涉及为由跟踪产生的踪迹(trace)定义句柄(handle)。
技术介绍
当在处理环境内执行跟踪时产生一个或者多个踪迹。每个踪迹 包括一个或者多个连续已执行指令。在踪迹中包括的指令是在跟踪 功能的开始与停止时间之间执行的指令。存在不同类型的跟踪技术, 包括基于符号/模块的技术和基于踪迹的技术。与基于符号/模块的技 术不同的是,基于踪迹的技术是独立于程序模块边界而定义的。由 基于踪迹的技术产生的序列较基于传统的符号/模块的策略而言提供 重要优点,这是因为在指令序列中固有地表示真实程序流。利用基 于踪迹的技术来扩展优化器的范围以提供更全局的机会。虽然踪迹有助于为处理环境提供优化,但是在为踪迹创建独特 标识句柄时存在固有的困难。通常为了创建用来标识踪迹的句柄而 使用关于存储器位置的信息。然而这在存储器位置为动态时是有问 题的。
技术实现思路
基于前文,需要一种用以标识踪迹的增强能力。具体而言,需 要一种用以不考虑踪迹在存储器中驻留于何处而创建标识踪迹的句 柄的能力。通过提供如权利要求1所述的方法来克服现有技术的不足并且 提供附加优点。本专利技术也提供一种对应系统和计算机程序。通过本专利技术的技术来实现附加特征和优点。这里具体地描述本 专利技术的其它实施例和方面,并且将其视为要求保护的本专利技术的 一部附图说明本专利技术的一个或者多个方面在后附于说明书的权利要求中作为 例子被具体地指出和明确地要求保护。根据结合附图进行的以下具 体描述,本专利技术的前述和其它目的、特征以及优点是显而易见的,在附图中图1描绘了用以包含和使用本专利技术一个或者多个方面的处理环 境的一个实施例;图2描绘了根据本专利技术一个或者多个方面的图1的存储器的一 个实施例的更多细节;图3描绘了根据本专利技术一个方面的图2的仿真器的即时 (Just-In-Time)编译器的一个实施例的进一步的细节;图4描绘了根据本专利技术一个方面的与定义踪迹句柄关联的逻辑 的一个实施例;图5描绘了根据本专利技术一个方面的与使用踪迹句柄关联的逻辑的一个实施例;以及图6描绘了用以包含本专利技术一个或者多个方面的计算机程序产品的一个实施例。 具体实施例方式根据本专利技术的一个方面,提供一种用于定义与存储器无关的踪 迹句柄的能力。具体而言,为踪迹定义与踪迹在存储器中驻留的位 置无关的踪迹句柄。代替的是,句柄是基于踪迹的内容。这使得能 够在踪迹针对其定义的应用的多次运行中成功地使用句柄。作为一个例子,应用是仿真器。仿真器包括对被仿真的指令进 行跟踪的跟踪功能(例如记录例程)。它起初在仿真器启动时4矣通而在预定点处(诸如分支(branch))处关断。在该时间期间所执行 的指令集被称作踪迹。在分支处,可以启动另一踪迹以收集另一指令集,等等。在仿真器的执行期间提供一个或者多个踪迹。踪迹的 指令序列可以包括跨不同代码边界(诸如跨用户应用和操作系统以 及跨与被跟踪的应用通信的代码)的指令。参照图1描述了用以包含和使用本专利技术一个或者多个方面的处 理环境的一个实施例。在这一例子中,处理环境100是基于可以称 为本机(native)架构的一个架构,但是对可以称为客户(guest)架 构的另一架构进行仿真。作为例子,本机架构是由纽约州阿芒克市 的国际商业机器公司提供的Power4或者?0\¥6^0@架构或者由英特 尔公司提供的Inte产架构;而客户架构是也由纽约州阿芒克市的国际 商业机器公司提供的z/Architecture 。 2/八1"<:11^"1 "6@的多个方面在 2005年9月的IBM出版物No, SA22曙7832-04"z/Architecture Principles of Operation"中进行了描述,在此通过引用将其整体并入。例如,处理环境100包括例如经由一个或者多个总线108来相 互耦合的本机处理器102 (例如中央处理单元(CPU))、存储器 104 (例如主存储器)和一个或者多个输入/输出(I/O)设备106。 作为例子,处理器102是由纽约州阿芒克市的国际商业机器公司 (IBM )提供的pSeries⑧服务器的一部分。IBM 、 pSeries Power PC 和z/Architecture 是美国纽约州阿芒克市的国际商业才几器公司的注册 商标。Inte产是英特尔公司的注册商标。这里所用其它名称可以是国 国际商业机器公司或者其它公司的注册商标、商标或者产品名称。本机中央处理单元102包括在环境内进行处理期间使用的一个 或者多个本机寄存器110,诸如一个或者多个通用寄存器和/或一个 或者多个专用寄存器。这些寄存器包括代表环境在任何特定时间点 的状态的信息。另外,本机中央处理单元102执行存储器104中存储的指令和 代码。在一个特定例子中,中央处理单元执行存储器104中存储的 仿真器代码112。这一代码使在一个架构中配置的处理环境能够对另一架构进行仿真。例如,仿真器代码112允许基于不同于 z/Architecture 的架构的机器(诸如卩361^8@服务器),以对 z/Architecture⑧进行仿真,并且执行基于z/Architecture⑧开发的软件和指令。参照图2描述关于仿真器代码112(也称为仿真器)的更多细节。 在一个例子中,仿真器代码112包括用以从存储器104获取一个或 者多个客户指令202并且用以可选地为一个或者多个获取的指令提 供本地緩存的指令提取例程200。客户指令202包括为了在与本机 CPU 102的架构不同的架构中执行而开发的软件指令(例如机器指 令)。例如,客户指令202可以已经被设计成在2/八^11^(^11^@处理 器上执行,但是代替的是,其在本机CPU 102(其例如可以是卩361^8@ 服务器)上被仿真。仿真器112也包括用以确定已经获取的客户指令类型、并且用 以将客户指令翻译成一个或者多个对应的本机指令208的指令翻译 例程204。这一翻译例如包括标识将由客户指令执行的功能并且选择 用以执行该功能的本机指令。另外,仿真器112包括用以引起执行本机指令的仿真控制例程 206。仿真控制例程206可以使本机CPU 102执行对一个或者多个先 前荻取的客户指令进行仿真的本机指令例程,并且在这样的执行结 束时,将控制返回到指令提取例程以对接下来的 一个或者多个客户 指令的获取进行仿真。本机指令208的执行可以包括将数据从存储 器104加载到寄存器中;将数据从寄存器存储回到存储器;或者执 行如由翻译例程确定的某一类算术运算或者逻辑运算。例如用存储于存储器中并且由本机中央处理单元102执行的软 件来实施每个例程。在其它例子中,用固件、硬件、软件或者其一 些组合来实施一个或者多个例程或者操作。可以使用本机CPU的寄 存器IIO或者通过使用存储器104中的位置对被仿真的客户处理器 的寄存器进行仿真。在一个或者多个实施例中,客户指令202、本机 指令208和仿真代码112可以驻留于相同存储器中或者可以分散于6不同存储器设备。在 一 个实施例中,进一 步将提取和控制例程已经处理的指令的 汇集提供给即时编译器210。即时编译器是如下动态编译器,该动态 编译器检查指令、查找用以去除冗余的机会、并且在仿真器运行于 其上本文档来自技高网...

【技术保护点】
一种为处理环境的踪迹定义句柄的方法,所述方法包括: 获取所述踪迹的至少一部分;并且 基于所述踪迹的内容来生成密钥,其中所述密钥是用于所述踪迹的句柄,以及其中所述句柄在与所述踪迹关联的应用的多次运行中标识所述踪迹而不考虑所述踪迹在 存储器中驻留于何处。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:M米特兰A希克
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

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

1
相关领域技术
  • 暂无相关专利