| 6886157 |
Method and apparatus for creating efficient native methods that extend a bytecode interpreter |
| Apr-26-2005 |
Methods, apparatus and computer program products are disclosed for a method of invoking a native method in a Java virtual machine ("JVM"). A special-purpose fast interface, executing in conjunction with... |
| 6882889 |
Constrained dynamic inversion control algorithm |
| Apr-19-2005 |
A method of controlling a multivariable system includes the step of receiving a plurality of sensor signals indicating current conditions of the system and receiving a plurality of commands. The desired... |
| 6880154 |
Alias-free test for dynamic array structures |
| Apr-12-2005 |
An apparatus, method, and program product for optimizing code that contains dynamically-allocated memory. The aliasing behavior of internal pointers of dynamically-allocated memory is used to disambiguate... |
| 6880153 |
Method and apparatus for varying the level of correctness checks executed when performing correctness checks opportunistically using spare instruction slots |
| Apr-12-2005 |
The present invention provides a method (FIG. 6) and an apparatus that enable spare instruction slots within a code module to be utilized opportunistically for insertion of instructions associated with... |
| 6865734 |
Method and apparatus for performing byte-code optimization during pauses |
| Mar-8-2005 |
Methods and apparatus for dynamically compiling byte codes associated with methods during idle periods in the execution of a computer program are disclosed. The described methods are particularly suitable... |
| 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... |
| 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... |
| 6856951 |
Repartitioning performance estimation in a hardware-software system |
| Feb-15-2005 |
A tool is described herein for optimizing the design of a hardware-software system. The tool allows a designer to evaluate the potential improvement in system performance that may be realized by moving... |
| 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... |
| 6848099 |
Method and system for bidirectional bitwise constant propogation by abstract interpretation |
| Jan-25-2005 |
A method and system for bidirectional bitwise constant propogation by abstract interpretation is disclosed. In one embodiment, the method performs optimizing an implementation of a programming language,... |
| 6848098 |
Process and apparatus for optimizing program written in interpretive language for each callable program part base on frequency of executions |
| Jan-25-2005 |
In a process of optimizing a program which includes a plurality of callable program parts, at least one frequency of executions of at least one of the callable program parts is determined, and a necessary... |
| 6845501 |
Method and apparatus for enabling a compiler to reduce cache misses by performing pre-fetches in the event of context switch |
| Jan-18-2005 |
A method for reducing cache memory misses in a computer that performs context switches between at least a first context and a second context. A First logic identifies a first prefetch region in a first... |
| 6834383 |
Method for binary-level branch reversal on computer architectures supporting predicated execution |
| Dec-21-2004 |
Described is a method that identifies a predicate expression representing conditions in predicated assembly language instructions that determine a direction of a conditional branch instruction. The predicate... |
| 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... |
| 6820255 |
Method for fast execution of translated binary code utilizing database cache for low-level code correspondence |
| Nov-16-2004 |
The present invention increases efficiency of a binary translation process by correlating selected foreign code to previously translated binary host code. This approach eliminates repetitive translation... |
| 6820254 |
Method and system for optimizing code using an optimizing coprocessor |
| Nov-16-2004 |
A data processing system includes a central processing unit (CPU) in communication with a system memory. Within the system memory, there is stored legacy code that does not utilize the full features of... |
| 6820253 |
Method and system for interprocedural analysis with separate compilation |
| Nov-16-2004 |
A method and system for interprocedural analysis with separate compilation is disclosed. In one embodiment, the method is applied to a software program having a plurality of separately compilable components.... |
| 6817014 |
Analysis of executable program code using compiler-generated function entry points and endpoints with other sources of function entry points and endpoints |
| Nov-9-2004 |
Method and apparatus for analysis of executable program code. The executable program includes segments of code that correspond to callable functions in the source code from which the executable code was... |
| 6817013 |
Program optimization method, and compiler using the same |
| Nov-9-2004 |
An optimization method and apparatus for converting source code for a program written in a programming language into machine language. The program includes a basic block as a unit to estimate an execution... |
| 6813763 |
Program conversion device for increasing hit rate of branch prediction and method therefor |
| Nov-2-2004 |
The branch prediction characteristics of a computer for executing a program are recognized, a binary program matched to the characteristics is constituted. A program conversion device converting a first... |
| 6795921 |
Apparatus and method for translating with decoding function |
| Sep-21-2004 |
When an encoded source file is inputted to a compiler, the compiler decodes the encoded source file in certain units and partially restores the original source data. Then, the restored part is converted... |
| 6763327 |
Abstraction of configurable processor functionality for operating systems portability |
| Jul-13-2004 |
A hardware abstraction layer operates as a system architectural layer between a real-time operating system and an underlying configurable processor. The hardware abstraction layer provides an abstraction... |
| 6754892 |
Instruction packing for an advanced microprocessor |
| Jun-22-2004 |
A process for packing an instruction word including providing a word value representing an instruction word into which an operation is to be fit be equal to some initial value having a plurality of portions... |
| 6751792 |
Using value-expression graphs for data-flow optimizations |
| Jun-15-2004 |
A new method and apparatus for use in post compilation optimizers is presented. The present invention is based on the use of a new graphical representation of code in a linked program called an operands... |
| 6748589 |
Method for increasing the speed of speculative execution |
| Jun-8-2004 |
A method for increasing the speed of execution by a processor including the steps of selecting a sequence of instructions to optimize, optimizing the sequence of instructions, creating a duplicate of instructions... |
| 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,... |
| 6742179 |
Restructuring of executable computer code and large data sets |
| May-25-2004 |
A program product and method of compiling a computer program to optimize performance of a computer program. First, after initialization, a profiling run is done on computer code which may include program... |
| 6738966 |
Compiling device, computer-readable recording medium on which a compiling program is recorded and a compiling method |
| May-18-2004 |
Formal parameters which are to use registers are replaced with variables generated inside a compiler. Then, if a variable allocated to a register has a live range (lifetime) that includes an inline assembly... |
| 6735765 |
Sharing data between operating systems |
| May-11-2004 |
The present invention discloses a technique for sharing data between at least two operating systems. In accordance with the present invention, a volume is provided in a data storage device. The provided... |
| 6735761 |
Compile method frame detection method and device code discarding method and computer |
| May-11-2004 |
To detect only JITed frames which are frames for codes compiled by a Java Just In Time compiler (JIT compiler) in an environment in which the memory available for use by a Java JIT compiler is limited,... |
| 6735760 |
Relaxed lock protocol |
| May-11-2004 |
An object-oriented compiler/interpreter allocates monitor records for use in implementing synchronized operations on objects. When a synchronization operation is to be performed on an object, a thread... |
| 6731994 |
Computer method for providing optimization of manufacturing processes, with dynamic constraints |
| May-4-2004 |
A computer method for providing optimization for manufacturing processes for situations wherein there is defined a functional form y=f(x,b), where x comprises a set of independent controllable variables... |
| 6728953 |
Selectively enabling expression folding during program compilation |
| Apr-27-2004 |
A system is presented that selectively enables expression folding during compilation of a program, wherein the compilation converts the program from source code into executable code. The system operates... |
| 6725451 |
Method for converting a system call |
| Apr-20-2004 |
In a method for converting a system call for an origin operating system into a system call for a destination operating system, an emulation routine is called. The emulation routine converts a reference... |
| 6725450 |
Program conversion apparatus, processor, and record medium |
| Apr-20-2004 |
A program conversion apparatus including a machine-language storage unit and a conversion unit. The machine-language storage unit stores sets of two or more types of machine-language codes which correspond... |
| 6725448 |
System to optimally create parallel processes and recording medium |
| Apr-20-2004 |
An optimizing system, method and computer readable recording medium to increase the speed of parallel processing by allowing a mixture of automatic creation of parallel processes and OpenMP API processing... |
| 6721943 |
Compile-time memory coalescing for dynamic arrays |
| Apr-13-2004 |
In general, the malloc-combining transformation optimization during compile-time of a source program engaged in dynamically constructing multi-dimensional arrays provides an effective method of improving... |
| 6718544 |
User interface for making compiler tradeoffs |
| Apr-6-2004 |
A user interface that allows a user to visually understand, inspect, and manipulate a compiled application program as a function of compiler options, such as, code size and speed, is provided. |
| 6718542 |
Disambiguating memory references based upon user-specified programming constraints |
| Apr-6-2004 |
A system that allows a programmer to specify a set of constraints that the programmer has adhered to in writing code so that a compiler is able to assume the set of constraints in disambiguating memory... |
| 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... |
| 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... |
| 6687898 |
Optimization of n-base typed arithmetic expressions |
| Feb-3-2004 |
A method for arithmetic expression optimization includes receiving a first instruction defined for a first processor having a first base, the first instruction including an operator and at least one operand,... |
| 6684393 |
Compilation method and system to reuse memory storage instead of allocating it |
| Jan-27-2004 |
The present invention is a method and system of reusing a local memory space in a computer. In accordance with the invention an incoming stream of computer instructions is analyzed by an executable module... |
| 6684392 |
Method and apparatus for distinguishing reference values from non-reference values in a runtime environment |
| Jan-27-2004 |
A method and apparatus for distinguishing reference values from non-reference values in a runtime environment is described. A set of volatile registers and a set of non-volatile registers are statically... |
| 6678886 |
Apparatus and method for generating optimization objects |
| Jan-13-2004 |
A system and method enable appropriately concentrating instruction strings or data pieces sporadically present in a plurality of regions over more than one compilation unit and adjusting the front-and-rear... |
| 6675378 |
Object oriented apparatus and method for allocating array objects on an invocation stack |
| Jan-6-2004 |
An object oriented mechanism and method allow allocating Java array objects of unknown size at compile time to a method's invocation stack if the array's size is less than a predetermined threshold value.... |
| 6675376 |
System and method for fusing instructions |
| Jan-6-2004 |
A system and method for producing a fused instruction is described. In one embodiment, a first instruction and a second instruction that are both simple instructions (e.g., perform only one operation)... |