| 7043722 |
Mixed language expression loading and execution methods and apparatuses |
| May-9-2006 |
A mixed language expression execution method and apparatus includes an execution engine equipped to determine whether an execution context has previously been created for an expression, upon receiving... |
| 7043721 |
Initial object capacity determination |
| May-9-2006 |
The present invention generally provides a method, apparatus, and article of manufacture whereby source code is analyzed by the compiler to determine if a default object capacity should change. In one... |
| 7039908 |
Unification-based points-to-analysis using multilevel typing |
| May-2-2006 |
Location types in unification-based, flow-insensitive "points-to" analyses represent three kinds of sets of abstract memory locations in a three-level subtyping system. The data constructor for "middle"... |
| 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... |
| 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... |
| 7036115 |
Code generation by matching and satisfiability search |
| Apr-25-2006 |
A tool and method for automatically producing near-optimal code sequences are particularly useful for generating near-optimal code sequences in inner loops, crucial subroutines, and device drivers. As... |
| 7032216 |
Native compilation and safe deployment of virtual machine code |
| Apr-18-2006 |
Fragile native compilation of virtual machine code is described, in which a native code optimizer inspects external code entities such as Java base classes and emits target code based on an inter-procedural... |
| 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... |
| 7013459 |
Profile-driven data layout optimization |
| Mar-14-2006 |
Data layout optimization arranges data members within memory to enhance software performance. Profiling data is consulted to determine how to group data members for an object class into groups. One technique... |
| 7010785 |
Eliminating cold register store/restores within hot function prolog/epilogs |
| Mar-7-2006 |
A post-link optimization method for removing non-volatile register store/restore instructions from a hot function prolog/epilog, when the non-volatile register is referenced only in cold sections of code... |
| 7007271 |
Method and apparatus for integrated instruction scheduling and register allocation in a postoptimizer |
| Feb-28-2006 |
The present invention describes a method of efficiently optimizing instruction scheduling and register allocation in a post optimizer. The method removes false register dependencies between pipelined instructions... |
| 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,... |
| 7000226 |
Exception masking in binary translation |
| Feb-14-2006 |
Mapping of exception masks between source and target architectures with different numbers of exception masks enables a binary translator to translate code from the source to the target architecture and... |
| 6996814 |
Method and apparatus for dynamically compiling byte codes into native code |
| Feb-7-2006 |
One embodiment of the present invention provides a system that dynamically compiles byte codes into native code to facilitate faster execution. This method operates in a mixed-mode system that supports... |
| 6996811 |
Method for creating a performance model of an application program adjusted with an execution result of the application program |
| Feb-7-2006 |
There are previously involved: a program source-into which a log output instruction for adjusting an application model is embedded; a simulation source for performance simulation corresponding to the program... |
| 6996804 |
Adapting polymorphic inline caches for multithreaded computing |
| Feb-7-2006 |
A method and computer system that implements polymorphic inline caches having locking slots. Each time the polymorphic method is called having a new object type, a new slot in the polymorphic inline cache... |
| 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... |
| 6990465 |
Establishment of preferred business partners using a vendor certification program |
| Jan-24-2006 |
A curriculum, based in subject matter expertise possessed by an entity, is provided to vendors in the form of a vendor certification program via a communication network. In exchange for a fee, vendors... |
| 6988266 |
Method of transforming variable loops into constant loops |
| Jan-17-2006 |
A system and method for processing a variable looping statement into a constant looping statement to enable loop unrolling. A lower bound and an upper bound of the loop index within the variable looping... |
| 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... |
| 6983458 |
System for optimizing data type definition in program language processing, method and computer readable recording medium therefor |
| Jan-3-2006 |
The present invention provides a code optimizing method for a program language processing system which can delete an unnecessary duplicate multiphase type definition and can avoid an unnecessary multiphase... |
| 6981249 |
Methods for enhancing type reconstruction |
| Dec-27-2005 |
Systems, methods, and structures are discussed that enhance type reconstruction for programs. Whereas previous methods insufficiently provide the set of types necessary for program analysis, the embodiments... |
| 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... |
| 6973467 |
Table format data presenting method, inserting method, deleting method, and updating method |
| Dec-6-2005 |
A method to perform the insertion, deletion and updating of data in table-format data quickly and appropriately. A CPU 12 accepts a record number as a subscript, generates a subscript conversion array... |
| 6970985 |
Statically speculative memory accessing |
| Nov-29-2005 |
A processor framework includes a compiler which compiles a computer program, the compiler extracting speculative static information about memory accesses during compilation, and a microarchitecture which... |
| 6968545 |
Method and apparatus for no-latency conditional branching |
| Nov-22-2005 |
An apparatus to perform no-latency conditional branching has a sequencer for executing program instructions including one or more conditional branch instructions. The conditional branch instruction is... |
| 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... |
| 6964041 |
Processor for making more efficient use of idling components and program conversion apparatus for the same |
| Nov-8-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... |
| 6964040 |
Optimizing storage and retrieval of monitoring data |
| Nov-8-2005 |
Optimizing storage and retrieval of monitoring data. In one aspect of this disclosure, there is a system, method and computer readable medium that stores instructions for instructing a computer system,... |
| 6959430 |
Specialized heaps for creation of objects in object-oriented environments |
| Oct-25-2005 |
The present invention pertains to techniques for creating and maintaining objects in object-oriented environments. The techniques are especially well suited for Java programming environments. In accordance... |
| 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... |
| 6954926 |
Label address translating device |
| Oct-11-2005 |
A label address translating device includes a unit for processing a program and judging, when processing the program, whether or not an address is obtained from a label, and a label address translating... |
| 6954923 |
Recording classification of instructions executed by a computer |
| Oct-11-2005 |
An instruction processor to execute two instruction sets. Instructions are stored in different virtual memory pages of a single address space, and are coded for computers of two different instruction sets,... |
| 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... |
| 6948161 |
Method, computer system and computer program product for determining the equivalence of two blocks of assignment statements |
| Sep-20-2005 |
The present invention discloses a method for determining, in a computer environment, the equivalence, if any, of two blocks of assignment statements in a computer program for use in compiler optimization... |
| 6948160 |
System and method for loop unrolling in a dynamic compiler |
| Sep-20-2005 |
Provided is a method for performing loop-unrolling optimization during program execution. In one example, a method for loop optimization within a dynamic compiler system is disclosed. A computer program... |
| 6944852 |
Compiler |
| Sep-13-2005 |
A compiler is provided which effectively performs a data flow optimization process for a program wherein a plurality of branches and merges are arranged in series, without incurring a drastic increase... |
| 6941548 |
Automatic instruction set architecture generation |
| Sep-6-2005 |
A digital computer system automatically creates an Instruction Set Architecture (ISA) that potentially exploits VLIW instructions, vector operations, fused operations, and specialized operations with the... |
| 6938249 |
Compiler apparatus and method for optimizing loops in a computer program |
| Aug-30-2005 |
A profile-based loop optimizer generates an execution frequency table for each loop that gives more detailed profile data that allows making a more intelligent decision regarding if and how to optimize... |
| 6938247 |
Small memory footprint system and method for separating applications within a single virtual machine |
| Aug-30-2005 |
A system and method for isolating the execution of a plurality of applications. The applications may utilize or share one or more "original" classes. Only one copy of each original class is maintained,... |
| 6934935 |
Method and apparatus for accurate profiling of computer programs |
| Aug-23-2005 |
An object code expansion profiler equips a program for execution profiling by preprocessing the object code files of the program so as to add profiling monitoring code to the beginning of all or substantially... |
| 6928643 |
Bi-endian libraries |
| Aug-9-2005 |
A method of forming an executable program from a plurality of object code modules, each object code module comprising section data and relaxation instructions, at least one of said object code modules... |
| 6925637 |
Low-contention grey object sets for concurrent, marking garbage collection |
| Aug-2-2005 |
A method and system of carrying out garbage collection in a computer system. Specifically, the method and system utilize low contention grey object sets for concurrent marking garbage collection. A garbage... |
| 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... |
| 6922826 |
Debugger impact reduction through breakpoint motion |
| Jul-26-2005 |
A first type of debugger impact reduction includes removing, from within a loop, an initial conditional breakpoint ("ICB"); extracting a first Boolean expression ("BE_1") therefrom; setting a special conditional... |
| 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... |
| 6907601 |
Method and apparatus for inserting more than one allocation instruction within a routine |
| Jun-14-2005 |
A method is described comprising inserting an allocation instruction within a routine if a function call instruction is found within the routine. Another method is described comprising inserting multiple... |
| 6907600 |
Virtual translation lookaside buffer |
| Jun-14-2005 |
In one embodiment, a method for supporting address translation in a virtual-machine environment includes creating a guest translation data structure to be used by a guest operating system for address translation... |
| 6901586 |
Safe language static variables initialization in a multitasking system |
| May-31-2005 |
A system and method are provided for thread-safe initialization of static variables in a multitasking system. In one embodiment, the static fields of a class may be "virtualized" such that each application... |