| 7032216 |
Native compilation and safe deployment of virtual machine code |
| Apr-18-2006 |
Fragile native compilation of virtual machine code is described, in which a native code optimizer inspects external code entities such as Java base classes and emits target code based on an inter-procedural... |
| 7028293 |
Constant return optimization transforming indirect calls to data fetches |
| Apr-11-2006 |
Indirect method invocation of methods that only return constant values is optimized using fetching operations and return constant tables. Such method calls can be optimized if all possible method calls... |
| 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,... |
| 7000213 |
Method and apparatus for automatically generating hardware from algorithms described in MATLAB |
| Feb-14-2006 |
Digital circuit is synthesized from algorithm described in the MATLAB programming language. A MATLAB program is compiled into RTL-VHDL, which is synthesizable using system-specific tools to develop ASIC... |
| 6986128 |
Multiple stage program recompiler and method |
| Jan-10-2006 |
A method for dynamic recompilation of source software instructions for execution by a target processor, which considers not only the specific source instructions, but also the intent and purpose of the... |
| 6973648 |
Method and device to process multidimensional array objects |
| Dec-6-2005 |
A method for processing a multidimensional array object in which a multidimensional array is implemented by an array of array objects. The multidimensional array object comprises array objects which constitute... |
| 6973646 |
Method for compiling program components in a mixed static and dynamic environment |
| Dec-6-2005 |
This invention describes a method and several variants for compiling programs or components of programs in a mixed static and dynamic environment, so as to reduce the amount of time and memory spent in... |
| 6966056 |
Processor for making more efficient use of idling components and program conversion apparatus for the same |
| Nov-15-2005 |
A processor that has a plurality of instruction slots each of which stores an instruction to be executed in parallel. One of the plurality of instruction slots is a first instruction slot and another a... |
| 6964043 |
Method, apparatus, and system to optimize frequently executed code and to use compiler transformation and hardware support to handle infrequently executed code |
| Nov-8-2005 |
The present invention relates to a method, apparatus, and system to optimize frequently executed code and to use compiler transformation and hardware support to handle infrequently executed code. The method... |
| 6952821 |
Method and system for memory management optimization |
| Oct-4-2005 |
A system and method of automatically configuring memory in a data processing system, including the steps of: receiving source code containing a loop nest, wherein the loop nest includes data arrays with... |
| 6934940 |
Source code transformation-temporary object reduction |
| Aug-23-2005 |
Embodiments of the invention generally provide a method, article of manufacture, and apparatus for code transformation. In one embodiment, the invention provides a method of transforming source code. The... |
| 6934939 |
Method for unwinding a program call stack |
| Aug-23-2005 |
A method is disclosed for instructing a computing system to unwind a program call stack that lacks explicit Stack Frame Backchain Pointers, including finding the called function's entry point, determining... |
| 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... |
| 6865730 |
Interprocedural analysis and optimization of an object oriented program in the presence of dynamic class loading |
| Mar-8-2005 |
A method is provided for analyzing an object oriented program that supports dynamic class loading. A set A of classes in the program is identified, wherein each class within set A is capable of, during... |
| 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... |
| 6820256 |
System and method for whole-system program analysis |
| Nov-16-2004 |
Defect detection in a software system made of multiple computer program programs is facilitated by using information about cross-program interactions and dependency relationships between programs to analyze... |
| 6745384 |
Anticipatory optimization with composite folding |
| Jun-1-2004 |
A method and system for anticipatory optimization of computer programs. The system generates code for a program that is specified using programming-language-defined computational constructs and user-defined,... |
| 6732356 |
System and method of using partially resolved predicates for elimination of comparison instruction |
| May-4-2004 |
Systems and methods are provided through which compare instructions in computer code are eliminated partially resolving the predicate of the compare instructions. Partially resolved predicates are used... |
| 6718540 |
Data processing system and method for storing data in a communication network |
| Apr-6-2004 |
A data processing system and method for managing the storage of compiled instructions used in interpretive programming language applications is implemented. As the applications are implemented in an interpreted... |
| 6718541 |
Register economy heuristic for a cycle driven multiple issue instruction scheduler |
| Apr-6-2004 |
A method for scheduling operations utilized by an optimizing compiler to reduce register pressure on a target hardware platform assigns register economy priority (REP) values to each operation in a basic... |
| 6704927 |
Static binding of dynamically-dispatched calls in the presence of dynamic linking and loading |
| Mar-9-2004 |
Techniques for performing static binding of dispatched-calls in the presence of dynamic linking and loading are provided. A method for increasing the execution performance of a function at run-time includes... |
| 6701520 |
Preventing garbage collection of objects in object oriented computer programming languages |
| Mar-2-2004 |
A method to improve object-oriented computer processing by reducing the incidences of object creation and garbage collection. A compiler, preferably of object-oriented language such as Java, identifies... |
| 6694512 |
Data processing device, data processing method and supply medium thereof |
| Feb-17-2004 |
A data processing device, data processing method and a supply medium thereof for generating machine instructions to allow faster processing. A DAG (Directed Acyclic Graph) is generated from a substitute... |
| 6675377 |
Program conversion apparatus |
| Jan-6-2004 |
An optimization information attaching apparatus 100 stores a source program including class definitions and a class instruction. The class definitions each include a class, a virtual function and a base... |
| 6675375 |
Method and apparatus for optimized multiprocessing in a safe language |
| Jan-6-2004 |
In general, the invention relates to a method for optimized execution of a computer program including detecting a preservable static field in said computer program with a compiler, comprising detecting... |
| 6665864 |
Method and apparatus for generating code for array range check and method and apparatus for versioning |
| Dec-16-2003 |
The present invention eliminates redundant array range checks. A two-phased check is performed, namely a wide range check is performed by combining a plurality of array range checks, and a strict range... |
| 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... |
| 6651247 |
Method, apparatus, and product for optimizing compiler with rotating register assignment to modulo scheduled code in SSA form |
| Nov-18-2003 |
In a computer having rotating registers, a schedule-assigner for allocating the rotating registers. The scheduler-assigner includes a software-pipelined instruction scheduler that generates a first software-pipelined... |
| 6647546 |
Avoiding gather and scatter when calling Fortran 77 code from Fortran 90 code |
| Nov-11-2003 |
In accordance with methods and systems consistent with the present invention, a system that automatically generates Fortran 90 interfaces to Fortran 77 code is provided. These interfaces provide for the... |
| 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... |
| 6611956 |
Instruction string optimization with estimation of basic block dependence relations where the first step is to remove self-dependent branching |
| Aug-26-2003 |
An instruction string optimization apparatus is provided which estimates the size of a constant to be resolved as an address difference before linking instructions. The apparatus comprises code dividing... |
| 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... |
| 6609130 |
Method for serializing, compiling persistent textual form of an object-oriented database into intermediate object-oriented form using plug-in module translating entries according to grammar |
| Aug-19-2003 |
A method and system for customizing the transformation of an object-oriented database to and from a grammatical form. A grammatical form is an expression of an object-oriented database in a textual form... |
| 6606632 |
Transforming transient contents of object-oriented database into persistent textual form according to grammar that includes keywords and syntax |
| Aug-12-2003 |
A method and system for serializing a transient object-oriented database into a persistent form. The persistent form is a grammatical form, an expression of an object-oriented database in a textual form... |
| 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... |
| 6598221 |
Assembly code performance evaluation apparatus and method |
| Jul-22-2003 |
An assembly code performance evaluation apparatus is provided which includes a host computer, a target digital signal processor (DSP) compiler, and a performance estimation program. The host computer includes... |
| 6598052 |
Method and system for transforming a textual form of object-oriented database entries into an intermediate form configurable to populate an object-oriented database for sending to java program |
| Jul-22-2003 |
A method and system for compiling a grammatical form of an object-oriented database into an intermediate form of that database. The grammatical form is a persistent form of an object-oriented database... |
| 6578191 |
Method and apparatus for dynamic generation of adapters |
| Jun-10-2003 |
This invention provides for the implementation of dynamic "event to method" adapter class generation. Event to method adapter classes and objects are automatically and dynamically generated and wired to... |
| 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... |
| 6564372 |
Critical path optimization-unzipping |
| May-13-2003 |
A method and apparatus for optimizing scheduling of a block of program instructions to remove a condition resolving instruction from the critical path where the resolution of a condition controls the selection... |
| 6553362 |
Case-reduced verification condition generation system and method using weakest precondition operator expressed using strongest postcondition operators |
| Apr-22-2003 |
The instructions in a computer program are converted into a form of weakest precondition so as to produce a verification condition that is to be evaluated by a theorem prover. In generating the weakest... |
| 6530079 |
Method for optimizing locks in computer programs |
| Mar-4-2003 |
A method and several variants for using information about the scope of access of objects acted upon by mutual exclusion, or mutex, locks to transform a computer program by eliminating locking operations... |
| 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... |
| 6523173 |
Method and apparatus for allocating registers during code compilation using different spill strategies to evaluate spill cost |
| Feb-18-2003 |
Register allocation during computer program code compilation is accomplished by determining a set of spill candidates, by evaluating a cost function for each spill candidate using a plurality of spill... |
| 6473897 |
Method and apparatus for generating multiple processor-specific code segments in a single executable |
| Oct-29-2002 |
A computer-implemented method analyzes a source code segment which is to be compiled for execution by any one of several different processor types. The method determines whether a performance advantage... |
| 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... |
| 6457172 |
Compiler for supporting multiple runtime data representations |
| Sep-24-2002 |
A compiler having one or more separate components, each of which contains the source code of the compiler which is responsible for implementing a corresponding data representation. These components are... |
| 6412109 |
Method for optimizing java bytecodes in the presence of try-catch blocks |
| Jun-25-2002 |
A method for optimizing bytecode in the presence of try-catch blocks comprises generating an Intermediate Representation of the bytecode, scanning each basic block of the bytecode to identify try blocks,... |
| 6412108 |
Method and apparatus for speeding up java methods prior to a first execution |
| Jun-25-2002 |
A method and apparatus for optimizing performance of a method. A method is loaded and verified in a virtual machine. Prior to execution of the method, elements of the method are analyzed for optimization... |
| 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... |