Optimization

CL 717 SC 151
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)...