| 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... |
| 7039907 |
Method of protecting entry addresses |
| May-2-2006 |
An efficient method for protecting entry addresses in computer programs allows direct jumps to permissible entry addresses. The permissible entry addresses are identified with a correlation of data which... |
| 7039906 |
Compiler for enabling multiple signed independent data elements per register |
| May-2-2006 |
A compiler for data processing outputs lower-level code for packing multiple signed data elements per register into a processor's registers using the rules set forth herein, and when executed, the code... |
| 7036118 |
System for executing computer programs on a limited-memory computing machine |
| Apr-25-2006 |
A system for executing computer programs on a target platform having a limited amount of memory. Directives are suitably placed in the computer program source code at natural boundaries. The system uses... |
| 7036117 |
Optimal code generation for structured assembly language expressions |
| Apr-25-2006 |
An optimal code generator for generating structured assembly language expressions is disclosed. Because of the equivalence between unit structured assembly language expressions and the code implementing... |
| 7036116 |
Percolating hot function store/restores to colder calling functions |
| Apr-25-2006 |
A method for post-link code optimization by identifying cold caller functions of a hot callee function, and percolating store and restore instructions with respect to non-volatile registers from the callee... |
| 7028293 |
Constant return optimization transforming indirect calls to data fetches |
| Apr-11-2006 |
Indirect method invocation of methods that only return constant values is optimized using fetching operations and return constant tables. Such method calls can be optimized if all possible method calls... |
| 7028289 |
Stream operator in a dynamically typed programming language |
| Apr-11-2006 |
The present invention provides a method and apparatus for implementation of an input/output stream operator in a dynamically typed language. This operator is built into the language, and allows a value... |
| 7028286 |
Methods and apparatus for automated generation of abbreviated instruction set and configurable processor architecture |
| Apr-11-2006 |
A systematic approach to architecture and design of the instruction fetch mechanisms and instruction set architectures in embedded processors is described. This systematic approach allows a relaxing of... |
| 7017154 |
Eliminating store/restores within hot function prolog/epilogs using volatile registers |
| Mar-21-2006 |
A post-link optimization method for renaming non-volatile registers with unused volatile registers, then removing the non-volatile register store/restore instructions from a function prolog/epilog. The... |
| 7010787 |
Branch instruction conversion to multi-threaded parallel instructions |
| Mar-7-2006 |
The invention provides a program conversion apparatus which performs parallelization for a multi-thread microprocessor on an intermediate program level. A parallelization apparatus of the program conversion... |
| 7000213 |
Method and apparatus for automatically generating hardware from algorithms described in MATLAB |
| Feb-14-2006 |
Digital circuit is synthesized from algorithm described in the MATLAB programming language. A MATLAB program is compiled into RTL-VHDL, which is synthesizable using system-specific tools to develop ASIC... |
| 6996810 |
Lazy and precise update of unwind information for dynamically generated code |
| Feb-7-2006 |
A method and system for lazily registering dynamically generated code and corresponding unwind information of a process. In one embodiment, the present invention detects a request for first unwind information... |
| 6993757 |
Method and apparatus for multi-versioning loops to facilitate modulo scheduling |
| Jan-31-2006 |
One embodiment of the present invention provides a system that facilitates multi-versioning loops to facilitate modulo scheduling. Upon receiving a computer program, the system analyzes the code to locate... |
| 6993756 |
Optimization apparatus that decreases delays in pipeline processing of loop and computer-readable storage medium storing optimization program |
| Jan-31-2006 |
An optimization apparatus is capable of improving the execution efficiency of a loop that includes a loop carry dependency between consecutive iterations of the loop. For example, a value resulting from... |
| 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... |
| 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... |
| 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... |
| 6957424 |
Method for optimizing performance of software applications within a computer system |
| Oct-18-2005 |
A method for optimizing a software application within a computer system is disclosed. A controller and a group of agents are initially provided within a computer system. Each agent within the group is... |
| 6952821 |
Method and system for memory management optimization |
| Oct-4-2005 |
A system and method of automatically configuring memory in a data processing system, including the steps of: receiving source code containing a loop nest, wherein the loop nest includes data arrays with... |
| 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... |
| 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... |
| 6938248 |
Program preparation apparatus |
| Aug-30-2005 |
A program preparation apparatus that can reduce power consumption and that can suppress malfunctions and the occurrence of noise by improving software is provided. An assembler prepares a relative object... |
| 6934943 |
Optimization of control transfers to dynamically loaded modules |
| Aug-23-2005 |
Method and apparatus for optimization of an executable program that calls procedures in a shared library. Code segments that read procedure address information from a linkage table are first identified.... |
| 6934940 |
Source code transformation-temporary object reduction |
| Aug-23-2005 |
Embodiments of the invention generally provide a method, article of manufacture, and apparatus for code transformation. In one embodiment, the invention provides a method of transforming source code. The... |
| 6928641 |
Method and system for far branch and call instructions |
| Aug-9-2005 |
The present invention provides a method for far branch and call instructions. The present invention includes the link-time modification of object code generated by the compiler or assembler and the addition... |
| 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... |
| 6922824 |
System and method for transforming object code |
| Jul-26-2005 |
A method comprising: converting bytecodes into a graph of jop objects to track where jump operations pointed before modification of the bytecodes; adjusting constant pool references from local to global... |
| 6910205 |
Interpreting functions utilizing a hybrid of virtual and native machine instructions |
| Jun-21-2005 |
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... |
| 6904591 |
Software development system for editable executables |
| Jun-7-2005 |
The invention provides a Software Development Program having a compiled programming language, Compiler for that language, and a built-in text Editor. The programming language has a block structure and... |
| 6901584 |
Assembling an object code module |
| May-31-2005 |
A method of assembling a source code module to form an object code module, said source code module including one or more assembler directives, wherein the assembler directives are used to generate relocation... |
| 6898787 |
Method and apparatus for ordered predicate phi in static single assignment form |
| May-24-2005 |
A Φ function provides a mechanism for static single assignment in the presence of predicated code. Guards placed on each source operand of the Φ function indicate the condition under which... |
| 6895581 |
Replaceable classes and virtual constructors for object-oriented programming languages |
| May-17-2005 |
An extension of object-oriented programming languages enables the use of replaceable classes and virtual constructors, thereby allowing existing code that creates objects of a base class to be reusable... |
| 6865736 |
Static cache |
| Mar-8-2005 |
The present invention discloses a processor system comprising a processor (31) and at least a first memory (32) and a second memory (34, 36, 37). The first memory (32) is normally faster than the second... |
| 6862730 |
Register allocation in code translation between processors |
| Mar-1-2005 |
This invention provides a low level code translation technique that separates a source code into blocks based on a target processor register capability. The source code of a source processor, is first... |
| 6854110 |
System and method for obtaining scratch registers in computer executable binaries |
| Feb-8-2005 |
A system and method for obtaining scratch registers in a computer-executable binary is provided. Register allocation requests in a computer-executable binary are discovered. In one method, the register... |
| 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... |
| 6851109 |
Process and system for dynamically compiling a partially interpreted method |
| Feb-1-2005 |
A process and system for dynamically compiling a partially interpreted method is provided. A set of bytecodes for a method is interpreted within a virtual machine. During the interpretation of the method,... |
| 6839895 |
Method of, system for, and computer program product for providing efficient utilization of memory hierarchy through code restructuring |
| Jan-4-2005 |
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... |
| 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... |
| 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... |
| 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... |
| 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... |
| 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... |
| 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... |
| 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... |
| 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... |
| 6738893 |
Method and apparatus for scheduling to reduce space and increase speed of microprocessor operations |
| May-18-2004 |
A process for scheduling computer processor execution of operations in a plurality of instruction word formats including the steps of arranging commands into properly formatted instruction words beginning... |
| 6718485 |
Software emulating hardware for analyzing memory references of a computer program |
| Apr-6-2004 |
The present invention is a software system that detects large classes of programming and run-time errors in a computer program by emulating the hardware platform and monitoring the execution of a program... |
| 6715142 |
Execution program generation method, execution program generation apparatus, execution program execution method, and computer-readable storage medium |
| Mar-30-2004 |
An execution program including encoded code portions is executed on an operating system inhibiting the rewriting of program code area. The execution program includes encoding target code and code not encoded.... |