| 7043696 |
Graphical program system having a single graphical user interface shared by a plurality of graphical programs |
| May-9-2006 |
A system and method for executing multiple graphical programs, in which program output from each graphical program is displayed in a single graphical user interface. Program output from a first graphical... |
| 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... |
| 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,... |
| 6988263 |
Apparatus and method for cataloging symbolic data for use in performance analysis of computer programs |
| Jan-17-2006 |
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... |
| 6986130 |
Methods and apparatus for compiling computer programs using partial function inlining |
| Jan-10-2006 |
A method and system makes inlining decisions that are efficient for subprograms that have significantly varying execution times over a range of variables or execution paths. A subprogram of a computer... |
| 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... |
| 6952817 |
Generating hardware interfaces for designs specified in a high level language |
| Oct-4-2005 |
A method of processing a general-purpose, high level language program to determine a hardware representation of the program can include compiling the general-purpose, high level language program to generate... |
| 6925638 |
Mutability analysis in Java |
| Aug-2-2005 |
A system and method for detecting the mutability of fields and classes in an arbitrary program component written in an object oriented programming language is disclosed. A variable is considered to be... |
| 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... |
| 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... |
| 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... |
| 6865429 |
Real-time control system development tool |
| Mar-8-2005 |
A composite object group (COG) data structure embodied in a computer-readable medium for building a control system that has both a clock cycle and event processing is provided. An interface for passing... |
| 6820257 |
Optimized production of hardware from source programs involving multiplications |
| Nov-16-2004 |
A method of compiling a source program to produce hardware is provided. The method includes the steps of carrying out data flow analysis of the source program to produce a data flow representation of the... |
| 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.... |
| 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,... |
| 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... |
| 6711717 |
Method and system for compiling circuit designs |
| Mar-23-2004 |
The present invention is a programming language method called Pipeline Language 1 (PL1) and its associated compiler system for generating logical circuit designs. The semantics allow the implementation... |
| 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... |
| 6694310 |
Data flow plan optimizer |
| Feb-17-2004 |
An optimizer for a data transformation system. The optimizer optimizes data flow plans that describe how data is to be transformed from the form it has in a data source to the form required in a data destination.... |
| 6675379 |
Automatic removal of array memory leaks |
| Jan-6-2004 |
A method for memory management in execution of a program by a computer having a memory includes identifying in the program an array of array elements. At a given point in the program, a range of the elements... |
| 6675291 |
Hardware device for parallel processing of any instruction within a set of instructions |
| Jan-6-2004 |
Hardware device for parallel processing a determined instruction of a set of instructions having a same format defining operand fields and other data fields, the execution of this determined instruction... |
| 6637026 |
Instruction reducing predicate copy |
| Oct-21-2003 |
When compiling software for a processor that supports predication, an alerting instruction can be inserted to alert a global register allocator to map particular virtual predicates into the same physical... |
| 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... |
| 6609084 |
Data transfer performance measuring system and method |
| Aug-19-2003 |
A system is disclosed for benchmarking data transfers using different transport mechanisms between processes run on various nodes of a network. A central manager component interfaces with a user and reports... |
| 6584611 |
Critical path optimization--unload hard extended scalar block |
| Jun-24-2003 |
A method, implemented in a compiler, of balancing the workload between blocks in a control flow to reduce the overall execution time of control block includes steps for identifying "hard" blocks the consume... |
| 6567975 |
Method and apparatus for inserting data prefetch operations using data flow analysis |
| May-20-2003 |
A software method and apparatus for inserting prefetch operations according to data flow analysis. The invention traverses program code to ascertain memory operations and associated address forming operations,... |
| 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... |
| 6449713 |
Implementation of a conditional move instruction in an out-of-order processor |
| Sep-10-2002 |
A technique for handling a conditional move instruction in an out-of-order data processor. The technique involves detecting a conditional move instruction within an instruction stream, and generating multiple... |
| 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... |
| 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,... |
| 6370685 |
Data-flow method of analyzing definitions and uses of L values in programs |
| Apr-9-2002 |
A method for analyzing and optimizing programs that contain pointers or aggregates or both, such as found in the languages C, C++, FORTRAN-90, Ada, and Java is disclosed. The program is represented as... |
| 6317869 |
Method of run-time tracking of object references in Java programs |
| Nov-13-2001 |
Many programming languages utilize reference pointers in computer code. Furthermore, some of these programming languages perform memory management in the form of garbage collection. Once such language... |
| 6301652 |
Instruction cache alignment mechanism for branch targets based on predicted execution frequencies |
| Oct-9-2001 |
A compiler system and method is provided that can 1) generate a second instruction stream from a first instruction stream, 2) read in and process predetermined external information regarding the basic... |
| 6293712 |
Method and apparatus for constructing a stack unwind data structure |
| Sep-25-2001 |
A computer-implemented method of constructing a stack unwind data structure is described. In one embodiment, the method commences when a procedure, which comprises part of the computer program, is compiled.... |
| 6289507 |
Optimization apparatus and computer-readable storage medium storing optimization program |
| Sep-11-2001 |
In an optimization apparatus embedded in a compiler apparatus that compiles a high-level language program to a machine language program, equivalence relations among a plurality of expressions are analyzed... |
| 6233733 |
Method for generating a Java bytecode data flow graph |
| May-15-2001 |
According to a first aspect of the present invention, a method for linking bytecodes of an uninterrupted block of bytecodes in the formation of a data flow graph comprises the steps of scanning the uninterrupted... |
| 6226789 |
Method and apparatus for data flow analysis |
| May-1-2001 |
A computer system for executing a binary image conversion system which converts instructions from a instruction set of a first, non native computer system to a second, different, native computer system,... |
| 6219833 |
Method of using primary and secondary processors |
| Apr-17-2001 |
The compilation of source code to a primary and a secondary processor. The method relates to reconfigurable secondary processors, and is especially relevant to secondary processors which can be reconfigured... |
| 6192513 |
Mechanism for finding spare registers in binary code |
| Feb-20-2001 |
The inventive system and method determines the availability of spare registers in binary code for use by an instrument or program by conducting a local search of either the immediate block of program code... |
| 6182284 |
Method and system for eliminating phi instruction resource interferences and redundant copy instructions from static-single-assignment-form computer code |
| Jan-30-2001 |
A method and system for detecting and eliminating interferences between resources in SSA-form .phi.-instructions so that an optimizing compiler can translate optimized SSA-form code back to non-SSA-form... |
| 6151706 |
Method, system, and computer program product for extending sparse partial redundancy elimination to support speculative code motion within an optimizing compiler |
| Nov-21-2000 |
A method, system, and computer program product for performing speculative code motion within a sparse partial redundancy elimination (PRE) framework. Speculative code motion (i.e., speculation) refers... |
| 6139199 |
Fast just-in-time (JIT) scheduler |
| Oct-31-2000 |
A just-in-time (JIT) compiler typically generates code from bytecodes that have a sequence of assembly instructions forming a "template". It has been discovered that a just-in-time (JIT) compiler generates... |
| 6117185 |
Skip list data storage during compilation |
| Sep-12-2000 |
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... |
| 6102970 |
System and method for optimizing a program containing a number of the flows through flow branches |
| Aug-15-2000 |
A system and method for optimizing a scripting program, such as utilized on a telephone system adapted to place and receive telephone calls includes a selectable script database having stored therein a... |
| 6077313 |
Type partitioned dataflow analyses |
| Jun-20-2000 |
Type partitioned dataflow analyses perform a dataflow analysis of a program by partitioning the dataflow analysis into phases using types to help reduce costs attendant to the dataflow analysis of the... |
| 6072952 |
Method and apparatus for coalescing variables |
| Jun-6-2000 |
A method and apparatus for improving the process of software development by a fast coalescing compiler optimizer tool that operates with one compiler pass. The present invention is a software development... |
| 6035123 |
Determining hardware complexity of software operations |
| Mar-7-2000 |
A new class of general purpose computers called Programmable Reduced Instruction Set Computers (PRISC) use RISC techniques a basis for operation. In addition to the conventional RISC instructions, PRISC... |