| 7043692 |
Windows resource file parameterization system and method |
| May-9-2006 |
A system and method which allows a software engineer to easily modify a resource file for a graphical user interface (GUI). A conventional hard-coded resource file is converted into a parameterized resource... |
| 7039910 |
Technique for associating execution characteristics with instructions or operations of program code |
| May-2-2006 |
By maintaining consistency of instruction or operation identification between code prepared for profiling and that prepared using profiling results, efficacy of profile-directed code optimizations can... |
| 7039908 |
Unification-based points-to-analysis using multilevel typing |
| May-2-2006 |
Location types in unification-based, flow-insensitive "points-to" analyses represent three kinds of sets of abstract memory locations in a three-level subtyping system. The data constructor for "middle"... |
| 7017153 |
Uninstrumenting in-line code instrumentation via stack unwinding and cleanup |
| Mar-21-2006 |
A method and system for reverting a process in an in-line instrumented state to an uninstrumented state. In one embodiment, the present invention modifies selected text segment portions from the process... |
| 7013456 |
Profiling execution of computer programs |
| Mar-14-2006 |
A method and a computer for performance of the method. While executing a program on a computer, profileable events occurring in the instruction pipeline are detected. The instruction pipeline is directed... |
| 7007270 |
Statistically based estimate of embedded software execution time |
| Feb-28-2006 |
A statistical approach to estimating software execution times is implemented by preparing a model of a target processing device, correlating the software to be estimated to benchmark programs used in the... |
| 7003760 |
Method for enhancing pointer analyses |
| Feb-21-2006 |
Methods are described that enhance pointer analysis for programs. Whereas previous methods are constrained by the extremes of an inverse relationship between time and information, the present methods selectively... |
| 6993754 |
Annotations to executable images for improved dynamic optimization functions |
| Jan-31-2006 |
A method of optimizing a computer program includes generating annotation information about the computer program, storing the annotation information with the computer program, and dynamically optimizing... |
| 6978451 |
Method for fast compilation of preverified JAVA bytecode to high quality native machine code |
| Dec-20-2005 |
The present invention is a new method and apparatus to perform fast compilation of platform independent bytecode instruction listings into high quality machine code in a single sequential pass. More specifically,... |
| 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... |
| 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... |
| 6959435 |
Compiler-directed speculative approach to resolve performance-degrading long latency events in an application |
| Oct-25-2005 |
A compiler-directed speculative approach to resolve performance-degrading long latency events in an application is described. One or more performance-degrading instructions are identified from multiple... |
| 6954927 |
Hardware supported software pipelined loop prologue optimization |
| Oct-11-2005 |
A method for optimizing a software pipelineable loop in a software code is provided. The loop comprises one or more pipelined stages and one or more loop operations. The method comprises evaluating an... |
| 6954923 |
Recording classification of instructions executed by a computer |
| Oct-11-2005 |
An instruction processor to execute two instruction sets. Instructions are stored in different virtual memory pages of a single address space, and are coded for computers of two different instruction sets,... |
| 6948162 |
Enhanced parallelism in trace scheduling by using renaming |
| Sep-20-2005 |
A method includes scheduling instructions within a trace disregarding data dependencies from off trace basic blocks. After scheduling, errors caused by instruction movement are corrected. By disregarding... |
| 6948161 |
Method, computer system and computer program product for determining the equivalence of two blocks of assignment statements |
| Sep-20-2005 |
The present invention discloses a method for determining, in a computer environment, the equivalence, if any, of two blocks of assignment statements in a computer program for use in compiler optimization... |
| 6944754 |
Method and apparatus for parallel execution of computer software using a distilled program |
| Sep-13-2005 |
Parallelization of a program is performed by creating a distilled version of the program having higher execution speed but with unverified execution. The distilled program is executed rapidly to create... |
| 6925639 |
Method and system for register allocation |
| Aug-2-2005 |
A method, system, and apparatus for inserting spill code optimized for a complex instruction set computing (CISC) two-address machine, such as a machine utilizing an 80x86 processor is described. The spill... |
| 6925635 |
Embedded pre-processor with dynamic macro forms |
| Aug-2-2005 |
An embedded pre-processor having dynamic macro types is disclosed. After a lexer receives an identifier token from source code, the lexer compares the identifier token with the macro names stored in the... |
| 6922830 |
Skip list data storage during compilation |
| Jul-26-2005 |
A compiler and method of compiling provide enhanced performance by utilizing a skip list data structure to store various properties of a program at points of interest in the procedure, for example, the... |
| 6922829 |
Method of generating profile-optimized code |
| Jul-26-2005 |
A method of generating profiled optimized code using user interface (17) that allows a user to visually understand, inspect, and manipulate a compiled application program as a function of compiler... |
| 6901587 |
Method and system of cache management using spatial separation of outliers |
| May-31-2005 |
A method and a system of cache management using spatial separation of outliers. The system includes a dynamic compiler arranged to create compiled fragments of code having dominant code blocks and outliers.... |
| 6895579 |
Method and apparatus for maintaining exception reporting for register promotion |
| May-17-2005 |
A method and apparatus which comprises, as part of compiling source code into native code, identifying a source code block in the source code to optimize using register promotion, and optimizing the source... |
| 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... |
| 6877156 |
Recognition of command related items in object code |
| Apr-5-2005 |
A system and method of recognising command related items in a body of object code, such as command names and/or associated option names involves entering a list of required command names and/or option... |
| 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... |
| 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,... |
| 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... |
| 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.... |
| 6813761 |
Methods for enhancing flow analysis |
| Nov-2-2004 |
Methods and structures are described that enhance flow analysis for programs. Whereas previous methods are complicated by the presence of function pointers, the present methods present a framework that... |
| 6766514 |
Compiler having real-time tuning, I/O scaling and process test capability |
| Jul-20-2004 |
A compiler and compiling method providing modification of a value of a variable at run-time of a computer program wherein additional space in memory is allocated for variable modification parameters, assembly... |
| 6766513 |
Method and system of memory management using stack walking |
| Jul-20-2004 |
A method and a system of memory management using stack walking. The method of managing memory in a computer system includes identifying compiled code to be deleted, examining the return addresses of the... |
| 6766511 |
Apparatus and method for performing symbolic resolution of modules using static representations of a trace |
| Jul-20-2004 |
An apparatus and method for cataloging symbolic data for use in performance analysis of computer programs is provided. The apparatus and method stores symbolic data for loaded modules during or shortly... |
| 6751791 |
Method of optimizing an MPI procedure by altering to a procedure other than the invoked MPI procedure portion or by altering the execution sequence |
| Jun-15-2004 |
A method is disclosed for optimizing an MPI procedure by altering to a procedure other than the MPI procedure invocation portion or by altering the execution sequence. In this method of optimizing a program... |
| 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... |
| 6748584 |
Method for determining the degree to which changed code has been exercised |
| Jun-8-2004 |
A method for determining changed code in a second program binary relative to a first or baseline program binary, where the second program is a different version of the first program, includes translating,... |
| 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... |
| 6728954 |
Method for allowing execution management of optimized code |
| Apr-27-2004 |
A method for managing the execution of an optimized code. The method comprises of the steps of: (1) receiving at least a description of flow graphs of the optimized code and of a source code from which... |
| 6721944 |
Marking memory elements based upon usage of accessed information during speculative execution |
| Apr-13-2004 |
One embodiment of the present invention provides a system that marks memory elements based upon how information retrieved from the memory elements affects speculative program execution. This system operates... |
| 6698015 |
Apparatus and method for improving performance of critical code execution |
| Feb-24-2004 |
Critical code routines are identified, separated from other routines, and compiled into a set of one or more critical dynamic link libraries ("DLLs"). These are then recognized by a DLL loader and loaded... |
| 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... |
| 6687760 |
Method and apparatus for preforming method lookup in the presence of modularity constructs to support transitive method override |
| Feb-3-2004 |
A method lookup mechanism is disclosed which not only enforces accessibility constraints imposed by modularity constructs but also enables transitive method override. According to one embodiment, when... |
| 6687759 |
Method and apparatus for performing method lookup in the presence of modularity constructs to support transitive method override |
| Feb-3-2004 |
A method lookup mechanism is disclosed which not only enforces accessibility constraints imposed by modularity constructs but also enables transitive method override. According to one embodiment, when... |
| 6683624 |
System and method for managing programming object visual representations participating in alternative execution paths |
| Jan-27-2004 |
A method and apparatus for depicting programming state of programming objects through a combination of associating semantic stat space with programming objects, updating semantic state through affiliated... |
| 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)... |
| 6675374 |
Insertion of prefetch instructions into computer program code |
| Jan-6-2004 |
A technique is provided for inserting memory prefetch instructions only at appropriate locations in program code. The instructions are inserted into the program code such that, when the code is executed,... |