| 6275981 |
Method and system for correlating profile data dynamically generated from an optimized executable program with source code statements |
| Aug-14-2001 |
A method and system for relating profile data generated by monitoring the execution of an optimized machine-code computer program back to the source-language description of the computer program. Logical... |
| 6253373 |
Tracking loop entry and exit points in a compiler |
| Jun-26-2001 |
The inventive system and method separates the tracking of the loop entry and exit points and loop optimization information, from the generation of the instrumentation code at the loop entry and exit points.... |
| 6253317 |
Method and apparatus for providing and handling traps |
| Jun-26-2001 |
A computer program or a computer process is provided by replacing a native computer instruction with a trapping computer instruction which is the size of the native computer instruction and which, when... |
| 6249906 |
Adaptive method and system to minimize the effect of long table walks |
| Jun-19-2001 |
Current software technology entails writing application programs in a high level language intended to facilitate portability to different computer processor platforms. Because the program is portable,... |
| 6226789 |
Method and apparatus for data flow analysis |
| May-1-2001 |
A computer system for executing a binary image conversion system which converts instructions from a instruction set of a first, non native computer system to a second, different, native computer system,... |
| 6223339 |
System, method, and product for memory management in a dynamic translator |
| Apr-24-2001 |
The present invention is a system, method, and product for improving the speed of dynamic translation systems by efficiently positioning translated instructions in a computer memory unit. More specifically,... |
| 6219825 |
Profile based optimization of shared libraries |
| Apr-17-2001 |
A method of operating a digital computer to provide instrumentation data for a shared library running in an environment in which programs are loaded and unloaded by a loader. The environment supports the... |
| 6202205 |
System and method for profile-based, on-the-fly optimization of library code |
| Mar-13-2001 |
A system and method for profiling the execution of a software library used by an application, creating an optimized library based on the profiling, and updating to the optimized library without halting... |
| 6192513 |
Mechanism for finding spare registers in binary code |
| Feb-20-2001 |
The inventive system and method determines the availability of spare registers in binary code for use by an instrument or program by conducting a local search of either the immediate block of program code... |
| 6189141 |
Control path evaluating trace designator with dynamically adjustable thresholds for activation of tracing for high (hot) activity and low (cold) activity of flow control |
| Feb-13-2001 |
A computer-implemented system, method, and product are provided to designate and translate traces of original instructions of an executable file at run time based on dynamic evaluation of control flow... |
| 6175956 |
Method and computer program product for implementing method calls in a computer system |
| Jan-16-2001 |
A computer implemented method and computer program compiler product are provided for implementing method calls in a computer system. Virtual method calls are identified in an intermediate instruction stream... |
| 6170083 |
Method for performing dynamic optimization of computer code |
| Jan-2-2001 |
Early Java Virtual Machine implementations executed Java programs very slowly since the Java byte codes were interpreted. Later, Java compilers were introduced to improve performance. To further improve... |
| 6161219 |
System and method for providing checkpointing with precompile directives and supporting software to produce checkpoints, independent of environment constraints |
| Dec-12-2000 |
A method for portable checkpointing comprising the steps of: pre-compiling an input source code; and outputting an associated output source code which includes support for portable checkpointing. The portability... |
| 6161170 |
Multiple processor, distributed memory computer with out-of-order processing |
| Dec-12-2000 |
A distributed memory computer architecture associates separate memory blocks with their own processors, each of which executes the same program. A processor fetching data or instructions from its local... |
| 6158049 |
User transparent mechanism for profile feedback optimization |
| Dec-5-2000 |
A profile feedback optimization system is provided. The system accepts as input an original application and produces an optimized version of the application. The system first instruments the original application... |
| 6158047 |
Client/server system for fast, user transparent and memory efficient computer language translation |
| Dec-5-2000 |
An apparatus for translating a multiple user program into a native machine code to run on a native computer hardware having memory and an operating system that is capable of detecting whether the program... |
| 6134710 |
Adaptive method and system to minimize the effect of long cache misses |
| Oct-17-2000 |
Current software technology entails writing application programs in a high level language intended to facilitate portability to different computer processor platforms. Because the program is portable,... |
| 6115809 |
Compiling strong and weak branching behavior instruction blocks to separate caches for dynamic and static prediction |
| Sep-5-2000 |
A method and apparatus varies branch prediction strategy associated with branch instructions in a trace of program code. The present invention first profiles branch instructions within a trace to record... |
| 6092180 |
Method for measuring latencies by randomly selected sampling of the instructions while the instruction are executed |
| Jul-18-2000 |
In a method for scheduling instructions executed in a computer system including a processor and a memory subsystem, pipeline latencies and resource utilization are measured by sampling hardware while the... |
| 6091897 |
Fast translation and execution of a computer program on a non-native architecture by use of background translator |
| Jul-18-2000 |
A computer system for executing a binary image conversion system which converts instructions from a instruction set of a first, non native computer system to a second, different native computer system,... |
| 6090155 |
Optimizing apparatus and method for defining visibility boundaries in compiled code |
| Jul-18-2000 |
Apparatus and a method are provided for defining visibility boundaries in compiled code of an optimizing compiler used with a digital computer for converting a source program to an object code. The source... |
| 6088525 |
Loop profiling by instrumentation |
| Jul-11-2000 |
The inventive system and method prepares a loop within a section of program code for profiling by placing instrumentation slots into the section at particular points. Entry slots are inserted just prior... |
| 6083280 |
Method of improving a processing efficiency of an automatic data processing system |
| Jul-4-2000 |
A method for increasing a relative efficiency of an automatic data processing system involving a processing sequence of a plurality of event types. The method includes the steps of measuring event activity... |
| 6072951 |
Profile driven optimization of frequently executed paths with inlining of code fragment (one or more lines of code from a child procedure to a parent procedure) |
| Jun-6-2000 |
A compiler and method of compiling provide enhanced performance by inlining one or more frequently executed paths through a child procedure into a parent procedure without inlining the entire child procedure.... |
| 6064818 |
Straight path optimization for compilers |
| May-16-2000 |
A pragma is defined to indicate straight path optimization for compilers (SPOC). The pragma is inserted into source code to identify the most common case for a branch point in a program flow, determined... |
| 6029005 |
Method for identifying partial redundancies in a new processor architecture |
| Feb-22-2000 |
The invention, in one embodiment, is a method for compiling at least a portion of a computer program. The method includes (a) inserting a phi-function for a global variable reaching a join point in the... |
| 6029004 |
Method and apparatus for modular reordering of portions of a computer program based on profile data |
| Feb-22-2000 |
An apparatus and method reorder portions of a computer program in a way that achieves both enhanced performance and maintainability of the computer program. A global call graph is initially constructed... |
| 6023583 |
Optimized variable allocation method, optimized variable allocation system and computer-readable memory containing an optimized variable allocation program |
| Feb-8-2000 |
An input module reads a source program, and a language translating module performs language translation on the entered source program to generate intermediate code. A dependency relation analyzing module... |
| 6021272 |
Transforming and manipulating program object code |
| Feb-1-2000 |
A method and system for transforming and manipulating program object code. A set of program object code is transformed into a form in which it may be readily manipulated, preferably a form which is independent... |
| 6006033 |
Method and system for reordering the instructions of a computer program to optimize its execution |
| Dec-21-1999 |
A system and method are provided that allows the results of an instruction trace mechanism to globally restructure the instructions. The process reorders the instructions in an executable program, using... |
| 5999736 |
Optimizing code by exploiting speculation and predication with a cost-benefit data flow analysis based on path profiling information |
| Dec-7-1999 |
A method and apparatus for optimizing execution of code is disclosed. The code is executed to generate path profiling information. At least one location is identified for relocating at least one of the... |
| 5995754 |
Method and apparatus for dynamically optimizing byte-coded programs |
| Nov-30-1999 |
Methods and apparatus for dynamically determining whether portions of code should be interpreted or compiled in order to optimize a software application during run-time are disclosed. According to one... |
| 5991540 |
Method for identifying partial redundancies in existing processor architectures |
| Nov-23-1999 |
The invention in one embodiment is a method for identifying partially redundant loads in an SSA intermediate language representation of at least a portion of a computer program. The intermediate language... |
| 5987257 |
Metafile optimization |
| Nov-16-1999 |
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... |
| 5983022 |
System and method for using profiles to manage data streams for device verification |
| Nov-9-1999 |
A bitstream management system and method which provides an infrastructure to enable comprehensive testing of devices that implement multiple syntax rule sets. In this system and method, modules for the... |
| 5983021 |
Dynamically switching statically bound function calls to dynamically bound function calls without recompilation |
| Nov-9-1999 |
An improved hybrid dynamic-binding system for switching between static binding and dynamic binding of function calls provides static binding for function calls when the function is unambiguous, and when... |
| 5978587 |
Method for propagating source code locations into objects in a compiler |
| Nov-2-1999 |
An object-oriented apparatus in the memory of a computer system for propagating source code locations into objects in a compiler. The apparatus has three types. The first is a source object type, of which... |
| 5978586 |
Method for tracking changes in source locations in a compiler |
| Nov-2-1999 |
The disclosed method creates a source object for each source language element parsed by the compiler and associates each such created source object with objects created from source language elements to... |
| 5966538 |
Method and apparatus for automatically determining which compiler options should be used when compiling a computer program |
| Oct-12-1999 |
The present invention provides a method and apparatus for automatically determining which compiler options should be used in compiling a computer program. The present invention utilizes a set of encodable... |
| 5966537 |
Method and apparatus for dynamically optimizing an executable computer program using input data |
| Oct-12-1999 |
The present invention provides a method and apparatus for using input data to optimize a computer program. Initially, the computer program is divided into one or more logical units of code. Next, a CPU... |
| 5950009 |
Method and apparatus for profile-based reordering of program portions in a computer program |
| Sep-7-1999 |
An apparatus and several methods provide for a more optimized computer program that will have a faster execution time than was possible using the prior art reordering technique that adds to a trace until... |
| 5946491 |
Register allocation method and apparatus for gernerating spill code as a function of register pressure compared to dual thresholds |
| Aug-31-1999 |
A method and apparatus for minimizing spill code in regions of low register pressure determines the register pressure at various locations in the computer program. When a live range is selected for spilling,... |
| 5940622 |
Systems and methods for code replicating for optimized execution time |
| Aug-17-1999 |
An optimizer that reduces execution time of computer code and a system and method that optimizes an execution time for a sequence of instruction blocks in a processor. The optimizer includes: (1) a parsing... |
| 5940621 |
Language independent optimal size-based storage allocation |
| Aug-17-1999 |
Compiler performance is improved without compromising program correctness by altering the commonly expected ordering that has been used in the past. A more efficient memory image is provided which results... |
| 5940620 |
Compiler with intermediate compiling mechanism |
| Aug-17-1999 |
A compiler which facilitates wide compilation functions using an intermediate compile mechanism that performs wide compilation functions without changing existing program makefiles. The intermediate compile... |
| 5933643 |
Profiler driven data prefetching optimization where code generation not performed for loops |
| Aug-3-1999 |
Data processing time is enhanced in a system in which memory prefetch instructions are inserted in the initially completed code as a result of a profiling operation during which the frequency of program... |
| 5930509 |
Method and apparatus for performing binary translation |
| Jul-27-1999 |
A computer system for executing a binary image conversion system which converts instructions from a instruction set of a first, non native computer system to a second, different, native computer system,... |
| 5930508 |
Method for storing and decoding instructions for a microprocessor having a plurality of function units |
| Jul-27-1999 |
A method and apparatus for compacting VLIW instructions in a processor having multiple functional units and including a buffer for storing compacted instructions, wherein NOP codes are eliminated from... |
| 5907710 |
Apparatus and method for program execution |
| May-25-1999 |
A comment statement provided within a program code statement is detected, and a processing according to a special command for executing an effect if such a special command is present in the comment statement... |
| 5901316 |
Float register spill cache method, system, and computer program product |
| May-4-1999 |
A float register spill cache method for improving the efficiency of usage of floating point single precision registers computer using a microprocessor conforming to the SPARC-V9 architecture specification.... |