| 6665865 |
Equivalence class based synchronization optimization |
| Dec-16-2003 |
Synchronization optimization for statically compiled Java programs is performed in three phases: Thread closure analysis, Alias analysis, and Specialization and transformation. Thread closure analysis... |
| 6662362 |
Method and system for improving performance of applications that employ a cross-language interface |
| Dec-9-2003 |
A method, system, apparatus, and computer program product is presented for improving the execution performance of an application in a data processing system. Instrumentation code is inserted into an application... |
| 6662360 |
Method and system for software control of hardware branch prediction mechanism in a data processor |
| Dec-9-2003 |
A method and system is disclosed for software manipulation of hardware prediction mechanism in a data processor with software prediction. The hardware branch prediction mechanism is enhanced with at least... |
| 6662359 |
System and method for injecting hooks into Java classes to handle exception and finalization processing |
| Dec-9-2003 |
The present invention is directed to a system, method and instructions for handling path flow exception and finalization processing in an object oriented programming language. Initially, each instrumentation... |
| 6654951 |
Removal of unreachable methods in object-oriented applications based on program interface analysis |
| Nov-25-2003 |
The present invention analyzes an application A and computes a set reachable methods in A by determining the methods in A that may be called from another reachable method in A, or from within a class library... |
| 6651244 |
System and method for determining program complexity |
| Nov-18-2003 |
A system and method for determining complexity of a computer subroutine having a plurality of statements, during development of the subroutine is disclosed. The method includes analyzing the plurality... |
| 6634023 |
Compile method, exception handling method and computer |
| Oct-14-2003 |
The present invention enables re-ordering of instructions to be executed while assuring a precise exception. In Java language, an optimization process of re-ordering instructions to be executed is performed... |
| 6633908 |
Enabling application response measurement |
| Oct-14-2003 |
The present invention relates to the area of systems management teaching means and a method for determining and managing application performance. Application Response Measurement (ARM) assumes that the... |
| 6631517 |
Software constructs that facilitate partial evaluation of source code |
| Oct-7-2003 |
A partial evaluator, or pre-compiler, for a computer program enables a user to provide, at suitable places within a program, language constructs which cause certain expressions within the program to be... |
| 6625808 |
Method and apparatus for facilitating memory management in a program comprised of heterogeneous components |
| Sep-23-2003 |
A method comprising identifying points of transition between garbage collected program components and non-garbage collected program components of a heterogeneous program, and selectively invoking a transition... |
| 6625807 |
Apparatus and method for efficiently obtaining and utilizing register usage information during software binary translation |
| Sep-23-2003 |
Apparatus and method are described for register optimization during code translation and utilizes a technique that removes the time overhead for analyzing register usage, and eliminates fixed restraints... |
| 6615403 |
Compare speculation in software-pipelined loops |
| Sep-2-2003 |
The present invention provides a mechanism for implementing compare speculation in software pipelined loops. A data dependency graph (DDG) is generated for a loop that includes a control compare instruction,... |
| 6609248 |
Cross module representation of heterogeneous programs |
| Aug-19-2003 |
An output translator provides for cross module representations of components within a heterogeneous program by translating modifying a platform-neutral intermediate representation (IR) of the program into... |
| 6598222 |
Programming method for concurrent programs and program supporting apparatus thereof |
| Jul-22-2003 |
An apparatus for supporting parallelization according to the invention is characterized by comprising a serialization unit for converting a first concurrent program having a concurrent structure into a... |
| 6571386 |
Apparatus and method for program optimizing |
| May-27-2003 |
An optimizer (100) comprises a memory (110) and a processor (130). The memory stores a program (200) to be optimized and optimization software (301). Controlled by the optimization software, the processor... |
| 6567976 |
Method for unrolling two-deep loops with convex bounds and imperfectly nested code, and for unrolling arbitrarily deep nests with constant bounds and imperfectly nested code |
| May-20-2003 |
A compiler for compiling source code whereby the compiled source code is optimized by performing outer loop unrolling (a generalization of "unroll and jam" on selected loop nests. The present invention... |
| 6564374 |
Method and apparatus for employing cognitive compares in compare statement sequences |
| May-13-2003 |
A compare sequence is executed at least once, and the results of that execution are used to modify the compare sequence for a subsequent execution of the compare sequence. In a preferred embodiment, the... |
| 6550059 |
Method for generating optimized vector instructions from high level programming languages |
| Apr-15-2003 |
A method for compiling source code to produce vector instructions, wherein parallel operands are placed in adjacent locations in memory and wherein the realignment of the operands is minimized. One embodiment... |
| 6550058 |
Stack clearing device and method |
| Apr-15-2003 |
A method for removing residual data from a computer program stack prior to returning control to a calling or controlling process with system and method for automatic inclusion thereof into software application... |
| 6546551 |
Method for accurately extracting library-based object-oriented applications |
| Apr-8-2003 |
The present invention is capable of accurately extracting multiple applications with respect to a class library. The invention relies on a configuration file for an application program and/or library,... |
| 6526572 |
Mechanism for software register renaming and load speculation in an optimizer |
| Feb-25-2003 |
The inventive mechanism operates to optimize program efficiency in a two phase process. In the first phase, the mechanism conducts a dependency analysis on the instructions to determine dependency relationships... |
| 6526571 |
Method for identifying calls in java packages whose targets are guaranteed to belong to the same package |
| Feb-25-2003 |
A method and system for identifying calls in a Java package whose targets are guaranteed to belong to the package. According to the method an inheritance graph and access permissions of respective components... |
| 6526422 |
Striding-type generation scanning for parallel garbage collection |
| Feb-25-2003 |
A multiprocessor, multi-program, stop-the-world garbage collection program is described. The system initially over partitions the root sources, and then iteratively employs static and dynamic work balancing.... |
| 6519768 |
Instruction translation method |
| Feb-11-2003 |
A method of translating source code instructions into target code instructions is described. Prior to translate time, an existing interpreter is analyzed to identify sequences that implement individual... |
| 6516462 |
Cache miss saving for speculation load operation |
| Feb-4-2003 |
Compiler optimization methods and systems for preventing delays associated with a speculative load operation on a data when the data is not in the data cache of a processor. A compiler optimizer analyzes... |
| 6510448 |
System, method and computer program product for increasing the performance of a proxy server |
| Jan-21-2003 |
A software virtual machine mechanism that increases the efficiency of context switching is disclosed. In an application to the networking environment, the software virtual machine is operative to increase... |
| 6505345 |
Optimization of initialization of parallel compare predicates in a computer system |
| Jan-7-2003 |
An optimization process is disclosed. The process first finds a parallel compare sequence in a program flow, for example using a flow graph. The guarding predicate (gp) is obtained for the compares. If... |
| 6487715 |
Dynamic code motion optimization and path tracing |
| Nov-26-2002 |
A method of reordering instructions. Barrier instructions are determined. The method determines when a processor stall may occur, and hoists subsequent instructions to fill in the stall time. However,... |
| 6487714 |
Mechanism for dynamic selection of an object's method |
| Nov-26-2002 |
A data structure and associated mechanism for implementing object oriented programming language, comprising at least two code blocks for at least one method of an object of a specified class, each of the... |
| 6470493 |
Computer method and apparatus for safe instrumentation of reverse executable program modules |
| Oct-22-2002 |
Computer method and apparatus allows instrumentation of program modules while maintaining exception-handling unwinding context. In the case of instrumenting procedure prologues, the invention preserves... |
| 6463581 |
Method for determining reachable methods in object-oriented applications that use class libraries |
| Oct-8-2002 |
The present invention analyzes an application A and computes a set reachable methods in A by determining the methods in A that may be called from another reachable method in A, or from within a class library... |
| 6446258 |
Interactive instruction scheduling and block ordering |
| Sep-3-2002 |
In some embodiments, the invention includes a method of compiling instructions of a program. The method includes receiving instructions for code motion and controlling the code motion while interacting... |
| 6446257 |
Method and apparatus for pre-allocation of system resources to facilitate garbage collection |
| Sep-3-2002 |
A generational garbage collection tool and method for a computer system that pre-allocates computer resources during compile-time for later use by a generational garbage collector at run-time. The invention... |
| 6442751 |
Determination of local variable type and precision in the presence of subroutines |
| Aug-27-2002 |
A method is provided for tracking the type of at least one local variable after calling a subroutine. The exemplary method associates each one of a plurality of branch instructions calling the subroutine... |
| 6434575 |
Method of instrumenting garbage collection generating a trace file making a single pass analysis of object heap |
| Aug-13-2002 |
A method and apparatus for instrumenting garbage collection in a data processing system is provided. During garbage collection, a pass is made through the object heap and a plurality of heap data is retrieved... |
| 6430741 |
System and method for data coverage analysis of a computer program |
| Aug-6-2002 |
The inventive system and method is directed toward verifying the accuracy of data tables specified by a developer to be used by a program. The system searches through an application program for instructions... |
| 6408433 |
Method and apparatus for building calling convention prolog and epilog code using a register allocator |
| Jun-18-2002 |
Methods and apparatus for enabling a register allocator to build a calling convention are disclosed. According to one aspect of the present invention, a computer-implemented method for generating code... |
| 6367076 |
Compiling method and memory storing the program code |
| Apr-2-2002 |
A compiling method, for compiling a source program into an object program for a CPU having multiple functional units that allow for concurrent operations and supporting predicated execution, for generating... |
| 6367067 |
Program conversion apparatus for constant reconstructing VLIW processor |
| Apr-2-2002 |
A program conversion apparatus includes: the constant division unit 12 for specifying instructions in the serial assembler code 42 that use large constants which cannot be arranged within the operation... |
| 6357041 |
Data-centric multi-level blocking |
| Mar-12-2002 |
A framework for improving program performance by locality-enhancing transformations is presented. This framework is appropriate for modern high-performance machines that have a memory hierarchy. The invention... |
| 6357040 |
Usage characteristic based software customization |
| Mar-12-2002 |
Software is customized by generating, for a first set of software objects having usage characteristic data collected, a second set of software objects to totally or partially replace the first set of software... |
| 6343376 |
System and method for program verification and optimization |
| Jan-29-2002 |
A system and method for increasing the speed of operation of a theorem prover relating to program verification using adaptive pattern matching technique is disclosed. Source code in a specific programming... |
| 6343374 |
Distributed processing for control of a telecommunications network |
| Jan-29-2002 |
A compiler for a distributed object system in which functional requirements on system performance criteria can be entered as comments fields in an object oriented language (e.g. C++) which are ignored... |
| 6324689 |
Mechanism for re-writing an executable having mixed code and data |
| Nov-27-2001 |
A method for permitting software optimization tools, software instrumenting tools and other analysis tools to re-write executables having mixed instructions and data uses a data structure having an entry... |
| 6324686 |
Just in time compiler technique |
| Nov-27-2001 |
The present invention provides a compiler that can compile Java byte code at high speed while employing only limited resources. The technique converts byte code into intermediate code that employs, as... |
| 6317876 |
Method and apparatus for determining a maximum number of live registers |
| Nov-13-2001 |
The present invention is a method and apparatus for compiler optimization that determines the maximum number of live computer registers, or pressure point. The present invention improves the productivity... |
| 6308324 |
Multi-stage profiler |
| Oct-23-2001 |
A profiler that operates in a multi-stage environment is disclosed. As program code undergoes a series of transformations, branches of interest are selected and tracked. Regardless of how many transformations... |
| 6308323 |
Apparatus and method for compiling a plurality of instruction sets for a processor and a media for recording the compiling method |
| Oct-23-2001 |
An apparatus and method for compiling a source program for a processor having a plurality of different instruction sets at high speed by selecting an optimum instruction set. The compiling method comprises... |
| 6308320 |
Method and apparatus for incremental selective compilation of intermediate code files during computer system compilation and linking |
| Oct-23-2001 |
An incremental selective compiler tool that minimizes compilation of intermediate code files by reusing object code files during the compilation and linking process. The compiler tool determines when the... |
| 6305014 |
Lifetime-sensitive instruction scheduling mechanism and method |
| Oct-16-2001 |
An instruction scheduler in an optimizing compiler schedules instructions in a computer program by determining the lifetimes of fixed registers in the computer program. By determining the lifetimes of... |