| 7039909 |
Method and apparatus for performing compiler transformation of software code using fastforward regions and value specialization |
| May-2-2006 |
A method and apparatus for providing compiler transformation of code using regions with simplified data and control flow and value specialization are described. In one embodiment, the method includes identifying... |
| 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... |
| 6966055 |
Optimizing post-link code |
| Nov-15-2005 |
A method for code optimization includes disassembling object code that has been compiled and linked, and identifying a function in the disassembled code, the function including store and restore instructions... |
| 6931635 |
Program optimization |
| Aug-16-2005 |
A program optimization method for converting program source code written in a programming language into machine language includes steps of: analyzing a target program and detecting an exception generative... |
| 6928642 |
Code generation for mapping object fields within nested arrays |
| Aug-9-2005 |
A method and device for generating mapping source code to establish mapping connections between enterprise system nested array object fields and legacy system nested array object fields is disclosed. For... |
| 6895580 |
Expression reduction during compilation through routine cloning |
| May-17-2005 |
An apparatus, program product, and method utilize routine cloning to optimize the performance of a compiled computer program. Within a compiled representation of a computer program, an implementation of... |
| 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... |
| 6857120 |
Method for characterizing program execution by periodic call stack inspection |
| Feb-15-2005 |
A method for characterizing runtime behavior of a computer program executing in an execution environment comprising: generating a call stack runtime data structure for tracking methods currently active... |
| 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... |
| 6848100 |
Hierarchical software path profiling |
| Jan-25-2005 |
A hierarchical software profiling mechanism that gathers hierarchical path profile information has been described. Software to be profiled is instrumented with instructions that save an outer path sum... |
| 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... |
| 6760907 |
Code generation for a bytecode compiler |
| Jul-6-2004 |
A method, system and apparatus for generating and optimizing native code in a runtime compiler from a group of bytecodes presented to the compiler. The compiler accesses information that indicates a likelihood... |
| 6754887 |
Methods for implementing virtual bases with fixed offsets in object oriented applications |
| Jun-22-2004 |
There is provided a method for implementing virtual bases with fixed offsets in a class hierarchy graph corresponding to an object oriented program. The graph has nodes representing object classes and... |
| 6754540 |
Flowchart-based control system including external functions |
| Jun-22-2004 |
A flowchart-based programming and control system includes a computer with a processor, memory, and a display. A device is associated with a process. A flowcharting module executed by the computer generates... |
| 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... |
| 6738968 |
Unified data type system and method |
| May-18-2004 |
A type system includes a dual representation for basic data types. One representation is the basic data type representation common to such basic built-in data types, known as an unboxed value type or simply... |
| 6721945 |
Optimization of calls in programming languages using pointers for passing reference parameters |
| Apr-13-2004 |
A method and computer program product for executing procedure calls, such as procedure calls in the C programing language. For a procedure call, reference parameters are identified, and replaced by respective... |
| 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... |
| 6675380 |
Path speculating instruction scheduler |
| Jan-6-2004 |
Path speculating instruction scheduler. According to one embodiment of the present invention instructions are placed into a control flow graph having blocks of the instructions, the control flow graph... |
| 6665865 |
Equivalence class based synchronization optimization |
| Dec-16-2003 |
Synchronization optimization for statically compiled Java programs is performed in three phases: Thread closure analysis, Alias analysis, and Specialization and transformation. Thread closure analysis... |
| 6654952 |
Region based optimizations using data dependence graphs |
| Nov-25-2003 |
Region based optimization may be accomplished by creating dependence graphs for each block and then incrementally computing a single dependence graph for the region. First dependence DAGs are created for... |
| 6651246 |
Loop allocation for optimizing compilers |
| Nov-18-2003 |
Loop allocation for optimizing compilers includes the generation of a program dependence graph for a source code segment. Control dependence graph representations of the nested loops, from innermost to... |
| 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... |
| 6625806 |
Language processing method and language processing system improving use efficiency of cache memory |
| Sep-23-2003 |
In the translation of a source program to an object program, callee side functions that overlap in cache memory and are called by the same caller side function are detected, and all but one of the overlapping... |
| 6574792 |
Dynamically generating expanded user messages in a computer system |
| Jun-3-2003 |
Dynamically generating expanded user messages, in a computer system having a logging tool for creating a log file. The log file comprises log messages produced in response to events occurring during execution... |
| 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... |
| 6519765 |
Method and apparatus for eliminating redundant array range checks in a compiler |
| Feb-11-2003 |
Java language is, as its specification, capable of detecting an access exceeding an array range, and when there is no user-defined exception handler, moving control to an invoked method after getting out... |
| 6507946 |
Process and system for Java virtual method invocation |
| Jan-14-2003 |
A process and system for optimizing an invocation of a method is provided. A determination is made to compile a calling method, and a call to a callee method is detected within the first method. The callee... |
| 6505344 |
Object oriented apparatus and method for allocating objects on an invocation stack |
| Jan-7-2003 |
An object oriented mechanism and method allow allocating a greater number of objects on a method's invocation stack. Each instruction that creates an object (i.e., allocation instruction) is first analyzed... |
| 6502098 |
Exporting and importing of data in object-relational databases |
| Dec-31-2002 |
A computer system for transferring data from an object relational database to another such database. The data in the source database having a table type hierarchy of data tables. The system transforming... |
| 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... |
| 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... |
| 6434743 |
Method and apparatus for allocating stack slots |
| Aug-13-2002 |
Methods and apparatus for allocating and using stack space are disclosed. According to one aspect of the present invention, a computer-implemented method for allocating stack space in an object-based system... |
| 6425121 |
Method and apparatus for resolving divergent paths in graphical programming environments |
| Jul-23-2002 |
The invention relates to a mechanism for detecting forks within data flow diagrams corresponding to application programs and for controlling the execution of such application programs. The flow diagram... |
| 6425120 |
Repeating program object for use with a graphical program-development system |
| Jul-23-2002 |
A program object is provided for use in developing application programs through a program-development environment. Using the program-development environment, a developer graphically specifies a flow diagram... |
| 6421825 |
Register control apparatus and method thereof for allocating memory based on a count value |
| Jul-16-2002 |
In a register controlling apparatus, whenever a routine is run, a register logicalal address, and the values of a local register pointer and a local register counter are selectively added, and thereby... |
| 6378126 |
Compilation of embedded language statements in a source code program |
| Apr-23-2002 |
Disclosed is a system and method for compiling a program. A source program including program statements in a first computer language, such as C++, Fortran, Java, etc., and embedded statements in a second... |
| 6295641 |
Method and apparatus for dynamically selecting bytecodes for just in time compiling in a user's environment |
| Sep-25-2001 |
A method and apparatus for providing a process in a computer for selectively just in time compiling a method. Compiling options for the method are presented on an output device. User input is received,... |
| 6292940 |
Program complete system and its compile method for efficiently compiling a source program including an indirect call for a procedure |
| Sep-18-2001 |
A program compile system comprising a compiler for compiling a source program to an object program and a program executing unit for executing the generated object program based on a predetermined input... |
| 6282707 |
Program transformation method and program transformation system |
| Aug-28-2001 |
A program transformation method for transforming a source program described by a programming language into an object program described by a language executable by a data processing system, includes a process... |
| 6253371 |
Method for supporting parallelization of source program |
| Jun-26-2001 |
In order to generate a source program or an object code which can be executed in parallel efficiency by detecting an independent operation of a large grain size from a program which can not be analyzed... |
| 6247175 |
Method and apparatus for identifying and removing unused software procedures |
| Jun-12-2001 |
The present invention is a method and apparatus for identifying and removing unused software procedures from computer software loads at loadbuild time, and includes a compiler, linker, and other software... |
| 6223340 |
Method for directly inlining virtual calls without on-stack replacement |
| Apr-24-2001 |
A dynamic compiler determines whether to inline methods in place of virtual method calls by inspecting such calls' receiver expressions. If a given call site meets other criteria for inlining, the method... |
| 6195793 |
Method and computer program product for adaptive inlining in a computer system |
| Feb-27-2001 |
A method and computer program product are provided for implementing adaptive inlining in a computer system. Call sites in a call multigraph are identified for possible inlining. A first approximation of... |
| 6175956 |
Method and computer program product for implementing method calls in a computer system |
| Jan-16-2001 |
A computer implemented method and computer program compiler product are provided for implementing method calls in a computer system. Virtual method calls are identified in an intermediate instruction stream... |
| 6090156 |
System for local context spilling for graph coloring register allocators |
| Jul-18-2000 |
A register allocator for allocating machine registers during compilation of a computer program. The register allocator performs the steps of building an interference graph, reducing the graph using graph... |
| 6077315 |
Compiling system and method for partially reconfigurable computing |
| Jun-20-2000 |
A compiling system and method generates a sequence of program instructions for use in a partially reconfigurable processing unit, a portion of the processing unit having a hardware organization that is... |
| 6009273 |
Method for conversion of a variable argument routine to a fixed argument routine |
| Dec-28-1999 |
A compiler method analyzes a program listing to identify a first set of subroutines therein, each of which accepts a variable number of arguments, converting the first set of subroutines into further sets... |
| 6002874 |
Method and system for translating goto-oriented procedural languages into goto-free object oriented languages |
| Dec-14-1999 |
A method and system for translating goto-oriented procedural languages into object oriented languages. A class structure is selected into which the source program will be transformed. The class structure... |
| 5946490 |
Automata-theoretic approach compiler for adaptive software |
| Aug-31-1999 |
A compiler which generates object-oriented code from high level models is disclosed. The compiler uses a class graph to construct a finite intermediate automaton which is used in conjunction with an adaptive... |