Method and system for memory leak detection in an object-oriented environment during real-time trace processing
    41.
    发明授权
    Method and system for memory leak detection in an object-oriented environment during real-time trace processing 失效
    在实时跟踪处理中面向对象环境中的内存泄漏检测方法和系统

    公开(公告)号:US06560773B1

    公开(公告)日:2003-05-06

    申请号:US09414331

    申请日:1999-10-07

    IPC分类号: G06F1730

    摘要: A method and system for detecting memory leaks in an object-oriented environment during real-time trace processing is provided. During the profiling of a program executing in a data processing system, a profiler processes events caused by the execution of the program, and the profiler maintains a profile data structure containing execution-related metrics for the program. The execution-related metrics may include object allocation and deallocation metrics that are associated with object processing initiated on behalf of an executing method. An object allocator allocates objects during the execution of the program and modifies object allocation metrics in the profile data structure. An object deallocator, such as a garbage collector, deallocates objects during the execution of the program and modifies object deallocation metrics in the profile data structure. The object allocation metrics and the object deallocation metrics may be compared to identify memory leaks.

    摘要翻译: 提供了一种用于在实时跟踪处理期间检测面向对象环境中的内存泄漏的方法和系统。 在对在数据处理系统中执行的程序进行分析时,分析器处理由程序执行引起的事件,并且分析器维护包含程序的执行相关度量的简档数据结构。 执行相关度量可以包括与代表执行方法发起的对象处理相关联的对象分配和重新分配度量。 对象分配器在执行程序期间分配对象,并在配置文件数据结构中修改对象分配度量。 诸如垃圾收集器的对象分配器在执行程序期间释放对象,并修改配置文件数据结构中的对象分配度量。 可以比较对象分配度量和对象分配度量以识别内存泄漏。

    Method and system for autonomic execution path selection in an application
    42.
    发明授权
    Method and system for autonomic execution path selection in an application 有权
    应用程序中自主执行路径选择的方法和系统

    公开(公告)号:US08381037B2

    公开(公告)日:2013-02-19

    申请号:US10682385

    申请日:2003-10-09

    IPC分类号: G06F11/00

    摘要: A method, an apparatus, and a computer program product in a data processing system are presented for using hardware assistance for gathering performance information that significantly reduces the overhead in gathering such information. Performance indicators are associated with instructions or memory locations, and processing of the performance indicators enables counting of events associated with execution of those instructions or events associated with accesses to those memory locations. The performance information that has been dynamically gathered from the assisting hardware is available to the software application during runtime in order to autonomically affect the behavior of the software application, particularly to enhance its performance. For example, the counted events may be used to autonomically control an execution-path selection within the software application.

    摘要翻译: 提出了一种数据处理系统中的方法,装置和计算机程序产品,用于使用硬件辅助来收集性能信息,这显着地减少了收集这些信息的开销。 性能指标与指令或存储器位置相关联,并且性能指示符的处理使得能够对与执行与那些存储器位置的访问相关联的那些指令或事件相关联的事件进行计数。 在运行期间,从辅助硬件动态收集的性能信息可用于软件应用程序,以便自主地影响软件应用程序的行为,特别是增强其性能。 例如,计数的事件可以用于自主地控制软件应用程序内的执行路径选择。

    Autonomic Method and Apparatus for Hardware Assist for Patching Code
    43.
    发明申请
    Autonomic Method and Apparatus for Hardware Assist for Patching Code 失效
    用于修补代码的硬件辅助自动方法和装置

    公开(公告)号:US20120151465A1

    公开(公告)日:2012-06-14

    申请号:US13347876

    申请日:2012-01-11

    IPC分类号: G06F9/44

    摘要: Hardware assist to autonomically patch code. The present invention provides hardware microcode to a new type of metadata to selectively identify instructions to be patched for specific performance optimization functions. The present invention also provides a new flag in the machine status register (MSR) to enable or disable a performance monitoring application or process to perform code-patching functions. If the code patching function is enabled, the application or process may patch code at run time by associating the metadata with the selected instructions. The metadata includes pointers pointing to the patch code block code. The program code may be patched autonomically without modifying original code.

    摘要翻译: 硬件辅助自动修补代码。 本发明向新类型的元数据提供硬件微代码,以选择性地识别要修补的特定性能优化功能的指令。 本发明还提供了机器状态寄存器(MSR)中的新标志,以启用或禁用性能监视应用程序或进程来执行代码补丁功能。 如果启用代码补丁功能,应用程序或进程可以通过将元数据与所选指令相关联来在运行时修补代码。 元数据包括指向补丁代码块代码的指针。 程序代码可以自动修补而不修改原始代码。

    Method and Apparatus for Autonomically Initiating Measurement of Secondary Metrics Based on Hardware Counter Values for Primary Metrics
    45.
    发明申请
    Method and Apparatus for Autonomically Initiating Measurement of Secondary Metrics Based on Hardware Counter Values for Primary Metrics 失效
    基于主要度量的硬件计数器值自动启动辅助度量测量的方法和装置

    公开(公告)号:US20080215863A1

    公开(公告)日:2008-09-04

    申请号:US12124822

    申请日:2008-05-21

    IPC分类号: G06F9/30

    摘要: A method, apparatus, and computer instructions in a data processing system for processing instructions are provided. Instructions are received at a processor in the data processing system. If a selected indicator is associated with the instruction, counting of each event associated with the execution of the instruction is enabled. Functionality may be provided in the performance monitoring application for initiating the measurement of secondary metrics with regard to identified instructions, data addresses, ranges of identified instructions, or ranges of identified data addresses, based on counter values for primary metrics. Thus, for example, when a primary metric counter, or a combination of primary metric counters, meets or exceeds a predetermined threshold value, an interrupt may be generated. In response to receiving the interrupt, counters associated with the measuring of secondary metrics of a range of instructions/data addresses may be initiated.

    摘要翻译: 提供了用于处理指令的数据处理系统中的方法,装置和计算机指令。 在数据处理系统的处理器处接收指令。 如果所选择的指示符与指令相关联,则启用与执行指令相关联的每个事件的计数。 可以在性能监视应用中提供功能,用于基于主要度量的计数器值来启动关于所识别的指令,数据地址,所识别的指令的范围或所识别的数据地址的范围的次级度量的测量。 因此,例如,当主度量计数器或主度量计数器的组合满足或超过预定阈值时,可以产生中断。 响应于接收到中断,可以启动与测量一系列指令/数据地址的二次度量有关的计数器。

    Method and apparatus for autonomically initiating measurement of secondary metrics based on hardware counter values for primary metrics
    46.
    发明授权
    Method and apparatus for autonomically initiating measurement of secondary metrics based on hardware counter values for primary metrics 失效
    基于主要度量的硬件计数器值自动启动二次度量测量的方法和装置

    公开(公告)号:US07392370B2

    公开(公告)日:2008-06-24

    申请号:US10757269

    申请日:2004-01-14

    IPC分类号: G06F11/16

    摘要: A method, apparatus, and computer instructions in a data processing system for processing instructions are provided. Instructions are received at a processor in the data processing system. If a selected indicator is associated with the instruction, counting of each event associated with the execution of the instruction is enabled. Functionality may be provided in the performance monitoring application for initiating the measurement of secondary metrics with regard to identified instructions, data addresses, ranges of identified instructions, or ranges of identified data addresses, based on counter values for primary metrics. Thus, for example, when a primary metric counter, or a combination of primary metric counters, meets or exceeds a predetermined threshold value, an interrupt may be generated. In response to receiving the interrupt, counters associated with the measuring of secondary metrics of a range of instructions/data addresses may be initiated.

    摘要翻译: 提供了用于处理指令的数据处理系统中的方法,装置和计算机指令。 在数据处理系统的处理器处接收指令。 如果所选择的指示符与指令相关联,则启用与执行指令相关联的每个事件的计数。 可以在性能监视应用中提供功能,用于基于主要度量的计数器值来发起关于所识别的指令,数据地址,所识别的指令的范围或所识别的数据地址的范围的次级度量的测量。 因此,例如,当主度量计数器或主度量计数器的组合满足或超过预定阈值时,可以产生中断。 响应于接收到中断,可以启动与测量一系列指令/数据地址的二次度量有关的计数器。

    Autonomic method and apparatus for hardware assist for patching code
    48.
    发明授权
    Autonomic method and apparatus for hardware assist for patching code 失效
    用于硬件辅助的辅助方法和装置辅助代码

    公开(公告)号:US08141099B2

    公开(公告)日:2012-03-20

    申请号:US12122558

    申请日:2008-05-16

    IPC分类号: G06F3/00 G06F13/28

    摘要: Hardware assist to autonomically patch code. The present invention provides hardware microcode to a new type of metadata to selectively identify instructions to be patched for specific performance optimization functions. The present invention also provides a new flag in the machine status register (MSR) to enable or disable a performance monitoring application or process to perform code-patching functions. If the code patching function is enabled, the application or process may patch code at run time by associating the metadata with the selected instructions. The metadata includes pointers pointing to the patch code block code. The program code may be patched autonomically without modifying original code.

    摘要翻译: 硬件辅助自动修补代码。 本发明向新类型的元数据提供硬件微代码,以选择性地识别要修补的特定性能优化功能的指令。 本发明还提供了机器状态寄存器(MSR)中的新标志,以启用或禁用性能监视应用程序或进程来执行代码补丁功能。 如果启用代码补丁功能,应用程序或进程可以通过将元数据与所选指令相关联来在运行时修补代码。 元数据包括指向补丁代码块代码的指针。 程序代码可以自动修补而不修改原始代码。

    Method and apparatus for determining computer program flows autonomically using hardware assisted thread stack tracking and cataloged symbolic data
    49.
    发明授权
    Method and apparatus for determining computer program flows autonomically using hardware assisted thread stack tracking and cataloged symbolic data 失效
    使用硬件辅助线程堆栈跟踪和编目的符号数据自动地确定计算机程序流的方法和装置

    公开(公告)号:US07987453B2

    公开(公告)日:2011-07-26

    申请号:US10803663

    申请日:2004-03-18

    IPC分类号: G06F9/44 G06F9/00

    摘要: A method, apparatus, and computer instructions for determining computer flows autonomically using hardware assisted thread stack and cataloged symbolic data. When a new thread is spawned during execution of a computer program, new thread work area is allocated by the operating system in memory for storage of call stack information for the new thread. Hardware registers are set with values corresponding to the new thread work area. Upon context switch, values of the registers are saved in a context save area for future restoration.When call stack data is post-processed, the operating system or a device driver copies call stack data from the thread work areas to a consolidated buffer and each thread is mapped to a process. Symbolic data may be obtained based on the process identifier and address of the method/routine that was called/returned in the thread. Corresponding program flow is determined using retrieved symbolic data and call stack data.

    摘要翻译: 一种用于使用硬件辅助线程堆栈和编目的符号数据自主地确定计算机流的方法,装置和计算机指令。 当在执行计算机程序期间产生新的线程时,操作系统将新的线程工作区分配给存储器,以存储新线程的调用堆栈信息。 硬件寄存器设置为与新线程工作区域对应的值。 在上下文切换时,寄存器的值保存在上下文保存区域中,以备将来恢复。 当调用堆栈数据进行后处理时,操作系统或设备驱动程序将调用堆栈数据从线程工作区域复制到统一缓冲区,并将每个线程映射到进程。 可以基于在线程中调用/返回的方法/例程的进程标识符和地址获得符号数据。 使用检索到的符号数据和调用堆栈数据确定相应的程序流程。