Code restructuring

CL 717 SC 159
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....