Including instrumentation and profiling

CL 717 SC 158
7039910 Technique for associating execution characteristics with instructions or operations of program code
May-2-2006 By maintaining consistency of instruction or operation identification between code prepared for profiling and that prepared using profiling results, efficacy of profile-directed code optimizations can...
7036116 Percolating hot function store/restores to colder calling functions
Apr-25-2006 A method for post-link code optimization by identifying cold caller functions of a hot callee function, and percolating store and restore instructions with respect to non-volatile registers from the callee...
7032217 Method and system for collaborative profiling for continuous detection of profile phase transitions
Apr-18-2006 A method and system for collaborative profiling for continuous detection of profile phase transitions is disclosed. In one embodiment, the method, comprises using hardware and software to perform continuous...
7017154 Eliminating store/restores within hot function prolog/epilogs using volatile registers
Mar-21-2006 A post-link optimization method for renaming non-volatile registers with unused volatile registers, then removing the non-volatile register store/restore instructions from a function prolog/epilog. The...
7017153 Uninstrumenting in-line code instrumentation via stack unwinding and cleanup
Mar-21-2006 A method and system for reverting a process in an in-line instrumented state to an uninstrumented state. In one embodiment, the present invention modifies selected text segment portions from the process...
7013459 Profile-driven data layout optimization
Mar-14-2006 Data layout optimization arranges data members within memory to enhance software performance. Profiling data is consulted to determine how to group data members for an object class into groups. One technique...
7013456 Profiling execution of computer programs
Mar-14-2006 A method and a computer for performance of the method. While executing a program on a computer, profileable events occurring in the instruction pipeline are detected. The instruction pipeline is directed...
7007269 Method of providing open access to application profiling data
Feb-28-2006 A data structure for exchanging profiling data in the form of trace elements between collection agents and analysis agents in a profiling tool, wherein the data structure comprises elements for identifying...
7000227 Iterative optimizing compiler
Feb-14-2006 An optimizing compiler and method thereof performs a sequence of optimizing changes to an intermediate language representation of a routine, and measures an execution characteristic of each optimization,...
6996810 Lazy and precise update of unwind information for dynamically generated code
Feb-7-2006 A method and system for lazily registering dynamically generated code and corresponding unwind information of a process. In one embodiment, the present invention detects a request for first unwind information...
6993755 Dynamic compilation control
Jan-31-2006 Modern programming languages have stimulated work on systems that dynamically compile or optimize frequently executed portions of programs. In practice, such systems typically rely on ad hoc heuristics....
6993750 Dynamic registration of dynamically generated code and corresponding unwind information
Jan-31-2006 A method and system for enabling the registration of dynamically generated code and corresponding unwind information. In one embodiment, the present invention creates a module which includes data related...
6983459 Incorporating register pressure into an inlining compiler
Jan-3-2006 A method, system, and program product for optimizing compilation. In the preferred embodiment, a compiler compiles a source-code file twice; once to gather register-pressure data, and a second time to...
6971092 System and method for analyzing data accesses of a trace from a computer-executable program to determine data access patterns
Nov-29-2005 A system and method for analyzing data accesses to determine data access patterns. Data address accesses are traced and transformed into Whole Program Streams (WPS). WPS may then be used to discover higher-level...
6968547 Dynamic trap table interposition for efficient collection of trap statistics
Nov-22-2005 A system and method for monitoring the performance of a computer system by dynamically interposing an instrumented trap table. A base address of a trap table, which may be contained in a trap base address...
6968546 Debugging support using dynamic re-compilation
Nov-22-2005 The present invention is a method and system to support debug. A function is re-compiled when a field watch for a field is activated. The function includes a byte code sequence having a field byte code...
6966057 Static compilation of instrumentation code for debugging support
Nov-15-2005 The present invention is a method and system to support debug. A function is compiled. The function includes a byte code sequence having a field byte code that accesses or modifies a field. The compiled...
6961925 Parallelism performance analysis based on execution trace information
Nov-1-2005 A system for conducting performance analysis for executing tasks. The analysis involves generating a variety of trace information related to performance measures, including parallelism-related information,...
6959435 Compiler-directed speculative approach to resolve performance-degrading long latency events in an application
Oct-25-2005 A compiler-directed speculative approach to resolve performance-degrading long latency events in an application is described. One or more performance-degrading instructions are identified from multiple...
6957422 Dynamic classification of sections of software
Oct-18-2005 Dynamic classification of sections of software using a profile-based optimization system optimizes management of the sections of software. Software executes under expected usage conditions. After execution,...
6951015 Prefetch insertion by correlation of cache misses and previously executed instructions
Sep-27-2005 Method and apparatus for inserting prefetch instructions in an executable computer program. Profile data are generated for executed load instructions and store instructions. The profile data include instruction...
6950850 System and method for dynamic runtime partitioning of model-view-controller applications
Sep-27-2005 Methods and apparatus for dynamic runtime partitioning of network-based client/server applications using a Model-View-Controller pattern are provided. Such dynamic partitioning is accomplished by requiring...
6944853 Predicated execution of instructions in processors
Sep-13-2005 A processor includes a series of predicate registers 135. Each predicate register is switchable between at least respective first and second states and each is assignable to one or more predicated-execution...
6941257 Hierarchical processing of simulation model events
Sep-6-2005 A method, system, and data structure for instrumenting a cross-hierarchical simulation event are disclosed herein. The cross-hierarchical simulation event is a function of a first simulation event residing...
6938249 Compiler apparatus and method for optimizing loops in a computer program
Aug-30-2005 A profile-based loop optimizer generates an execution frequency table for each loop that gives more detailed profile data that allows making a more intelligent decision regarding if and how to optimize...
6934942 System and method for using data address sequences of a program in a software development tool
Aug-23-2005 A system and method for determining where bottlenecks in a program's data accesses occur and providing information to a software developer as to why the bottlenecks occur and what may be done to correct...
6934935 Method and apparatus for accurate profiling of computer programs
Aug-23-2005 An object code expansion profiler equips a program for execution profiling by preprocessing the object code files of the program so as to add profiling monitoring code to the beginning of all or substantially...
6904594 Method and system for apportioning changes in metric variables in an symmetric multiprocessor (SMP) environment
Jun-7-2005 A method and system for monitoring performance of a program using global metric variables to provide the support in an symmetric multiprocessor (SMP) system. A Java virtual machine (Jvm) either calls the...
6898787 Method and apparatus for ordered predicate phi in static single assignment form
May-24-2005 A Φ function provides a mechanism for static single assignment in the presence of predicated code. Guards placed on each source operand of the Φ function indicate the condition under which...
6892379 Methods and apparatus for use in aiding stack unwinding
May-10-2005 In a compiler, a method of generating assembly code for stack unwinding is disclosed. One or more source code lines are obtained. Assembly code for the one or more source code lines is then generated....
6880072 Pipelined processor and method using a profile register storing the return from exception address of an executed instruction supplied by an exception program counter chain for code profiling
Apr-12-2005 A pipeline processor having an exception program counter chain generates a return address in the exception program counter chain for an executing instruction. The return address is the point at which instruction...
6865736 Static cache
Mar-8-2005 The present invention discloses a processor system comprising a processor (31) and at least a first memory (32) and a second memory (34, 36, 37). The first memory (32) is normally faster than the second...
6865735 Process for rewriting executable content on a network server or desktop machine in order to enforce site specific properties
Mar-8-2005 A program or program snippet is rewritten to conform to site-specific properties prior to being executed by a target host. The program or program snippet directed to a target host from a known or unknown...
6865649 Method and apparatus for pre-fetching data during program execution
Mar-8-2005 A system and method for pre-fetching data. A computer program comprising multiple basic blocks is submitted to a processor for execution. Tables or other data structures are associated with some or all...
6862730 Register allocation in code translation between processors
Mar-1-2005 This invention provides a low level code translation technique that separates a source code into blocks based on a target processor register capability. The source code of a source processor, is first...
6862729 Profile-driven data layout optimization
Mar-1-2005 Data layout optimization arranges data members within memory to enhance software performance. Profiling data is consulted to determine how to group data members for an object class into groups. One technique...
6862728 Hash table dispatch mechanism for interface methods
Mar-1-2005 A hash table dispatch mechanism for interface Methods. The mechanism reduces dispatch times during the execution of an object-oriented language program. An interface hash table having a pointer as an index...
6862565 Method and apparatus for validating cross-architecture ISA emulation
Mar-1-2005 A method and an apparatus allows complete and efficient verification of cross-architecture ISA emulation. A random verification framework runs concurrently on two different computer architectures. The...
6857119 Techniques for modifying a compiled application
Feb-15-2005 Techniques for automatically modifying behavior of a compiled application include receiving a first set of compiled instructions for the application. The first set of compiled instructions is modified...
6851110 Optimizing an executable computer program having address-bridging code segments
Feb-1-2005 Method and apparatus for optimizing an executable computer program having address-bridging code segments. Various embodiments are described for optimizing an executable computer program that occupies a...
6823507 Detection of memory-related errors in computer programs
Nov-23-2004 A method, an apparatus, and a computer program product are disclosed for detecting memory-related errors in a computer program during compiling of the computer program. In the method, static analysis is...
6823506 Metafile optimization
Nov-23-2004 The specification describes a program used to optimize journal files such as metafiles used in the Microsoft.RTM. Windows.RTM. programming environment. The program steps through instructions from the original...
6820258 System and method for dynamically optimizing executing activations
Nov-16-2004 A system and method for dynamically optimizing a code sequence of a program while executing in a computer system comprises: identifying one or more program yield points in an original code sequence at...
6817011 Memory allocation profiling to discover high frequency allocators
Nov-9-2004 A method, system, and computer program product for profiling memory allocation in a data processing system are disclosed. The method includes initiating a memory allocation request and, in response to...
6795964 Edge profiling for executable program code having branches through stub code segments
Sep-21-2004 Method and apparatus for profiling edges that pass through stub code segments in executable program code. The compilation and linking of a computer program sometimes generates stub code segments that implement...
6795963 Method and system for optimizing systems with enhanced debugging information
Sep-21-2004 This system sets up a framework that allows for separating debug information from executable code. The system is comprised of a compiler, a linker and a debugger. The compiler produces optimized object...
6760907 Code generation for a bytecode compiler
Jul-6-2004 A method, system and apparatus for generating and optimizing native code in a runtime compiler from a group of bytecodes presented to the compiler. The compiler accesses information that indicates a likelihood...
6757891 Method and system for reducing the computing overhead associated with thread local objects
Jun-29-2004 A computer-implemented method for reducing a computing overhead associated with objects that are local to a particular thread and can be accessed solely by that thread. Dynamically during run-time, an...
6748588 One-pass greedy-pattern-matching finite-state-machine code generation
Jun-8-2004 A one-pass, greedy-pattern-matching, finite-state-machine code generator is disclosed. The code generator generates local code (such as processor-native code) from intermediate code (such as Java byte...
6745383 Early warning mechanism for enhancing enterprise availability
Jun-1-2004 A computer method for issuing an early warning includes determining, using change and test coverage and control flow and data flow analyses of a program, locations in the program at which to insert early...