| 6691307 |
Interpreter optimization for native endianness |
| Feb-10-2004 |
A method for interpreter optimization includes receiving multiple data units organized according to a first endian order, reordering the data units according to a second endian order and interpreting the... |
| 6681388 |
Method and compiler for rearranging array data into sub-arrays of consecutively-addressed elements for distribution processing |
| Jan-20-2004 |
In a data rearranging method for performing a distribution processing of an array in a multi processor system including a plurality of processors each of which has an independent memory, there are included... |
| 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... |
| 6668373 |
System, apparatus and method for expanding the range of decimal numbers of any length in existing data bases and computer programs |
| Dec-23-2003 |
A system, apparatus and method for modifying the machine code of an existing computer program to use a hybrid base-ten number system and corresponding hybrid arithmetic that replaces and processes all... |
| 6665866 |
Extensible compiler utilizing a plurality of question handlers |
| Dec-16-2003 |
A compiler architecture uses a question and answer methodology between a reduction engine and nodes of a graph representing the program being compiled to provide for easy expandability of the compiler.... |
| 6658492 |
System and method for reducing the footprint of preloaded classes |
| Dec-2-2003 |
A method and system that reduces the space allocated for internal data structures by a runtime engine. The internal data structures store member information for preloaded classes used by applications executed... |
| 6654953 |
Extending program languages with source-program attribute tags |
| Nov-25-2003 |
Attribute tags embedded in the statements of a source program system extend a programming language. A compiler for the program includes an interface to detect the attribute tags and to call one of a number... |
| 6651247 |
Method, apparatus, and product for optimizing compiler with rotating register assignment to modulo scheduled code in SSA form |
| Nov-18-2003 |
In a computer having rotating registers, a schedule-assigner for allocating the rotating registers. The scheduler-assigner includes a software-pipelined instruction scheduler that generates a first software-pipelined... |
| 6651245 |
System and method for insertion of prefetch instructions by a compiler |
| Nov-18-2003 |
The present invention discloses a method and device for placing prefetch instruction in a low-level or assembly code instruction stream. It involves the use of a new concept called a martyr memory operation.... |
| 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... |
| 6631514 |
Emulation system that uses dynamic binary translation and permits the safe speculation of trapping operations |
| Oct-7-2003 |
The inventive emulator dynamically translates instructions in code written for a first architecture into code for a second architecture. The emulator designates various checkpoints in the original code,... |
| 6631465 |
Method and apparatus for instruction re-alignment using a branch on a falsehood of a qualifying predicate |
| Oct-7-2003 |
A method and apparatus that provides instruction re-alignment using a branch on a falsehood of a qualifying predicate. A complementary predicate related to a qualifying predicate is determined to be available.... |
| 6629314 |
Management of reuse invalidation buffer for computation reuse |
| Sep-30-2003 |
A mechanism for maintaining reuse invalidation information includes a reuse buffer and a reuse invalidation buffer. The reuse buffer stores multiple instances of the reuse region. Each instance stored... |
| 6625798 |
Method for translating conditional expressions from a non-verilog hardware description language to verilog hardware description language while preserving structure suitable for logic synthesis |
| Sep-23-2003 |
A methodology for translating multiple bit conditional expressions of a non-Verilog hardware description language (HDL) program, not readily recognized by Verilog HDL, which can then be used to realize... |
| 6615403 |
Compare speculation in software-pipelined loops |
| Sep-2-2003 |
The present invention provides a mechanism for implementing compare speculation in software pipelined loops. A data dependency graph (DDG) is generated for a loop that includes a control compare instruction,... |
| 6609248 |
Cross module representation of heterogeneous programs |
| Aug-19-2003 |
An output translator provides for cross module representations of components within a heterogeneous program by translating modifying a platform-neutral intermediate representation (IR) of the program into... |
| 6594824 |
Profile driven code motion and scheduling |
| Jul-15-2003 |
A method and apparatus for generating an optimized intermediate representation of source code for a computer program are described. An initial intermediate representation is extracted from the source code... |
| 6591416 |
Interpreting functions utilizing a hybrid of virtual and native machine instructions |
| Jul-8-2003 |
Systems and methods for increasing the execution speed of virtual machine instructions for a function are provided. A portion of the virtual machine instructions of the function are compiled into native... |
| 6591415 |
Polymorphic code generation method and system therefor |
| Jul-8-2003 |
A method and system for producing multiple copies of an executable software object, in which a copy is functionally identical to all other copies while being structurally unique, alter the source code... |
| 6564374 |
Method and apparatus for employing cognitive compares in compare statement sequences |
| May-13-2003 |
A compare sequence is executed at least once, and the results of that execution are used to modify the compare sequence for a subsequent execution of the compare sequence. In a preferred embodiment, the... |
| 6564373 |
Instruction execution mechanism |
| May-13-2003 |
On completion of execution of a current block of instructions, a block completion process searches for potential successor blocks, using block descriptors and egress data structures. For each potential... |
| 6560775 |
Branch preparation |
| May-6-2003 |
A method and system for preparing branch instruction of a computer program, for compiling and execution in a computer system, in which each transfer instruction is split into two instructions: a control... |
| 6550059 |
Method for generating optimized vector instructions from high level programming languages |
| Apr-15-2003 |
A method for compiling source code to produce vector instructions, wherein parallel operands are placed in adjacent locations in memory and wherein the realignment of the operands is minimized. One embodiment... |
| 6539543 |
Method and apparatus for compiling source code by flattening hierarchies |
| Mar-25-2003 |
A method and apparatus for optimizing the compilation of computer program by exposing parallelism are disclosed. The computer program contains steps which involve index expressions. The program also involves... |
| 6532532 |
Instruction execution mechanism |
| Mar-11-2003 |
A computer system in which blocks of source code instructions are translated into blocks of target code instructions and executed. During execution, the system builds up dynamic behavior information about... |
| 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... |
| 6519768 |
Instruction translation method |
| Feb-11-2003 |
A method of translating source code instructions into target code instructions is described. Prior to translate time, an existing interpreter is analyzed to identify sequences that implement individual... |
| 6516463 |
Method for removing dependent store-load pair from critical path |
| Feb-4-2003 |
A method, implemented by a compiler, for removing a store-load dependency from a critical path utilizes a compare address operation to determine at run time whether dependency actual exists. The operand... |
| 6516462 |
Cache miss saving for speculation load operation |
| Feb-4-2003 |
Compiler optimization methods and systems for preventing delays associated with a speculative load operation on a data when the data is not in the data cache of a processor. A compiler optimizer analyzes... |
| 6513156 |
Interpreting functions utilizing a hybrid of virtual and native machine instructions |
| Jan-28-2003 |
Systems and methods for increasing the execution speed of virtual machine instructions for a function are provided. A portion of the virtual machine instructions of the function are compiled into native... |
| 6507947 |
Programmatic synthesis of processor element arrays |
| Jan-14-2003 |
A programmatic method transforms a nested loop in a high level programming language into a set of parallel processes, each a single time loop, such that the parallel processes satisfy a specified design... |
| 6487716 |
Methods and apparatus for optimizing programs in the presence of exceptions |
| Nov-26-2002 |
A method and several variants are provided for analyzing and transforming a computer program such that instructions may be reordered even across instructions that may throw an exception, while strictly... |
| 6487715 |
Dynamic code motion optimization and path tracing |
| Nov-26-2002 |
A method of reordering instructions. Barrier instructions are determined. The method determines when a processor stall may occur, and hoists subsequent instructions to fill in the stall time. However,... |
| 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... |
| 6408433 |
Method and apparatus for building calling convention prolog and epilog code using a register allocator |
| Jun-18-2002 |
Methods and apparatus for enabling a register allocator to build a calling convention are disclosed. According to one aspect of the present invention, a computer-implemented method for generating code... |
| 6360361 |
Field reordering to optimize cache utilization |
| Mar-19-2002 |
Fields which are individually addressable data elements in data structures are reordered to improve the efficiency of cache line access. Temporal data regarding the referencing of such fields is obtained,... |
| 6351849 |
Compiler optimization through combining of memory operations |
| Feb-26-2002 |
A method for compiling comprising receiving a source program having a number of memory operation blocks that are mutually exclusive. Each of the memory operation blocks have a memory operation, such that... |
| 6314561 |
Intelligent cache management mechanism |
| Nov-6-2001 |
The data cache management mechanism of the present invention is created by an optimizing compiler. The optimizing compiler intelligently places non-blocking preload instructions into the instruction stream... |
| 6301700 |
Method and apparatus for slicing class hierarchies |
| Oct-9-2001 |
Given a class hierarchy (a collection of classes and inheritance relations among them) and a program P that uses the hierarchy, a slice of the class hierarchy is computed with respect to the program by... |
| 6295644 |
Method and apparatus for patching program text to improve performance of applications |
| Sep-25-2001 |
The present invention relates to a method and an apparatus for patching program text to improve performance of applications running on a computer through the elimination of table lookup and emulation. |
| 6292934 |
Method and system for improving the locality of memory references during execution of a computer program |
| Sep-18-2001 |
The present invention provides a method and system for determining an optimal placement order for basic blocks within a computer program to improve locality of reference and reduce the working set of the... |
| 6282708 |
Method and processor for structuring a multi-instruction computer program in an internal directed acyclic graph |
| Aug-28-2001 |
A method for structuring a multi-instruction computer program as containing a plurality of basic blocks, that each compose from internal instructions and external jumps organised in an internal directed... |
| 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... |
| 6247174 |
Optimization of source code with embedded machine instructions |
| Jun-12-2001 |
A software mechanism for enabling a programmer to embed selected machine instructions into program source code in a convenient fashion, and optionally restricting the re-ordering of such instructions by... |
| 6243864 |
Compiler for optimizing memory instruction sequences by marking instructions not having multiple memory address paths |
| Jun-5-2001 |
Internal variables generated by a compiler are assigned to machine resources such as registers and memory by the resource assigning unit 11, and when the assembler code generation unit 18 has outputted... |
| 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... |
| 6175957 |
Method of, system for, and computer program product for providing efficient utilization of memory hierarchy through code restructuring |
| Jan-16-2001 |
Code restructuring or reordering based on profiling information and memory hierarchy is provided by constructing a Program Execution Graph (PEG) corresponding to a level of the memory hierarchy, partitioning... |
| 6173444 |
Optimizing compilation of pointer variables in the presence of indirect function calls |
| Jan-9-2001 |
Effective use of optimizing techniques during compilation is difficult in programs that make liberal use of pointers or indirect function calls. The indirection often means that the compiler cannot precisely... |
| 6158048 |
Method for eliminating common subexpressions from java byte codes |
| Dec-5-2000 |
Compilers are tools that generate efficient mappings from programs to machines. A Java "Just-In-Time" runs as part of an application, and as such, it must be fast and efficient in its use of memory. To... |