| 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... |