| 6675375 |
Method and apparatus for optimized multiprocessing in a safe language |
| Jan-6-2004 |
In general, the invention relates to a method for optimized execution of a computer program including detecting a preservable static field in said computer program with a compiler, comprising detecting... |
| 6671878 |
Modulo scheduling via binary search for minimum acceptable initiation interval method and apparatus |
| Dec-30-2003 |
Disclosed herein is an instruction set scheduling system for scheduling instruction sets in a pipelined processing system. In particular, the scheduling system includes a binary search technique for ascertaining... |
| 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... |
| 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... |
| 6665864 |
Method and apparatus for generating code for array range check and method and apparatus for versioning |
| Dec-16-2003 |
The present invention eliminates redundant array range checks. A two-phased check is performed, namely a wide range check is performed by combining a plurality of array range checks, and a strict range... |
| 6662354 |
Determining destinations of a dynamic branch |
| Dec-9-2003 |
A method, a translator, and a computer-readable medium for translating compiled programming code from a first code state to a second code state are disclosed. The programming code in the first state has... |
| 6658656 |
Method and apparatus for creating alternative versions of code segments and dynamically substituting execution of the alternative code versions |
| Dec-2-2003 |
Method and apparatus for creating alternative versions of code segments and dynamically substituting execution of the alternative code versions. Checkpoints in program code are identified by a compiler,... |
| 6658654 |
Method and system for low-overhead measurement of per-thread performance information in a multithreaded environment |
| Dec-2-2003 |
A low-overhead performance measurement of an application executing in a data processing system is provided in order to generate per-thread performance information in a multithreaded environment. While... |
| 6654951 |
Removal of unreachable methods in object-oriented applications based on program interface analysis |
| Nov-25-2003 |
The present invention analyzes an application A and computes a set reachable methods in A by determining the methods in A that may be called from another reachable method in A, or from within a class library... |
| 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... |
| 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.... |
| 6647547 |
Program conversion apparatus for eliminating unnecessary indications of dynamic memory allocation from a source program and generating an executable program |
| Nov-11-2003 |
A program conversion apparatus that converts a source program to an executable program, the source program including a first descriptor indicating dynamic memory allocation. The program conversion apparatus... |
| 6647546 |
Avoiding gather and scatter when calling Fortran 77 code from Fortran 90 code |
| Nov-11-2003 |
In accordance with methods and systems consistent with the present invention, a system that automatically generates Fortran 90 interfaces to Fortran 77 code is provided. These interfaces provide for the... |
| 6647408 |
Task distribution |
| Nov-11-2003 |
Methods, signals, devices, and systems are provided for matching tasks with processing units. A region within a multi-faceted task space is allocated to a processing unit. A point in the multi-faceted... |
| 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... |
| 6637025 |
Dynamic selection/definition of which class/methods should or should not be jit'ed using information stored in a jar file |
| Oct-21-2003 |
The present invention provides a process in a data processing system for executing bytecodes. The bytecodes are contained in a JAVA archive file along with just in time compiling instructions. A call 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... |
| 6634021 |
User controlled relaxation of optimization constraints related to volatile memory references |
| Oct-14-2003 |
A regime of keywords modifying a volatile type-qualifier for use in source code accessing volatile objects via, for example, pointers to volatile memory locations. Each keyword permits corresponding selected... |
| 6631517 |
Software constructs that facilitate partial evaluation of source code |
| Oct-7-2003 |
A partial evaluator, or pre-compiler, for a computer program enables a user to provide, at suitable places within a program, language constructs which cause certain expressions within the program to be... |
| 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,... |
| 6631423 |
System and method for assessing performance optimizations in a graphics system |
| Oct-7-2003 |
A system for identification and assessment of performance optimizations implemented in the graphics environment, the identification and assessment of the performance optimizations based upon an optimized... |
| 6622300 |
Dynamic optimization of computer programs using code-rewriting kernal module |
| Sep-16-2003 |
The present invention is a system and method of using a kernel module to perform dynamic optimizations both of user programs and of the computer operating system kernel, itself. The kernel module permits... |
| 6618506 |
Method and apparatus for improved compression and decompression |
| Sep-9-2003 |
A method and apparatus for compression and decompression of information, such as groups of computer program instructions, encodes (compresses) information comprising a plurality of units by receiving the... |
| 6601235 |
Method and apparatus for dynamically deoptimizing compiled activations |
| Jul-29-2003 |
Methods and apparatus for dynamically deoptimizing a frame in a control stack during the execution of a computer program are disclosed. The described methods are particularly suitable for use in computer... |
| 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... |
| 6591414 |
Binary program conversion apparatus, binary program conversion method and program recording medium |
| Jul-8-2003 |
A binary program conversion apparatus capable of converting an original binary program into a new binary program which runs at higher speed in a target computer having a cache memory. The binary program... |
| 6588009 |
Method and apparatus for compiling source code using symbolic execution |
| Jul-1-2003 |
A method and apparatus for optimizing the compilation of a computer program by exposing parallelism are disclosed. Information describing the operations in the program and their sequence is extracted and... |
| 6571387 |
Method and computer program product for global minimization of sign-extension and zero-extension operations |
| May-27-2003 |
A method and computer program product, within an optimizing compiler, for the global minimization of sign-extension and zero-extension operations in generated code during compilation. The method and computer... |
| 6567974 |
Small memory footprint system and method for separating applications within a single virtual machine |
| May-20-2003 |
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,... |
| 6564372 |
Critical path optimization-unzipping |
| May-13-2003 |
A method and apparatus for optimizing scheduling of a block of program instructions to remove a condition resolving instruction from the critical path where the resolution of a condition controls the selection... |
| 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... |
| 6557168 |
System and method for minimizing inter-application interference among static synchronized methods |
| Apr-29-2003 |
A system and method for isolating the execution of a plurality of applications. A plurality of monitors are provided for a plurality of applications to access a static synchronized method. The applications... |
| 6546550 |
Method to determine dynamic compilation time and to select bytecode execution mode |
| Apr-8-2003 |
To perform efficient execution of a bytecode by combining an interpreter and a compiler. At a time of a bytecode execution by an interpreter, if an instruction to be executed is a backward conditional... |
| 6542167 |
System and method for flexible software linking |
| Apr-1-2003 |
A loading and linking process allows for the flexible loading and linking of software modules into a memory space, without regard to the order in which symbols are defined and referenced in such software... |
| 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... |
| 6539542 |
System and method for automatically optimizing heterogenous multiprocessor software performance |
| Mar-25-2003 |
A method and apparatus is disclosed for optimizing the mapping of processes within a parallelized software program among individual processors in a high performance, scalable computing system. The resulting... |
| 6539541 |
Method of constructing and unrolling speculatively counted loops |
| Mar-25-2003 |
A method of constructing and unrolling speculatively counted loops. The method of the present invention first locates a memory load instruction within the loop body of a loop. An advance load instruction... |
| 6536037 |
Identification of redundancies and omissions among components of a web based architecture |
| Mar-18-2003 |
A system, method and article of manufacture are provided for conveying redundancies and omissions among components of a network framework such as a web architecture framework. First, an area of an existing... |
| 6523168 |
Reduction of object creation during string concatenation and like operations that utilize temporary data storage |
| Feb-18-2003 |
Reduction of object creation during string concatenation and like operations that utilize temporary data storage during translating a first computer program into a second computer program in which program... |
| 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... |
| 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... |
| 6496975 |
Method, system, and program for performing conditional program operations |
| Dec-17-2002 |
Disclosed is a system, method, and program for implementing conditional logic statements within a computer program. Program logic is invoked in response to processing a first method statement. During the... |
| 6484314 |
Exception handling method and system |
| Nov-19-2002 |
The present invention provides a method and a system for generating an exception handling instruction and for avoiding the execution of unnecessary instructions. More particularly, an internal opcode in... |
| 6481007 |
Optimizing parameter passing |
| Nov-12-2002 |
A method and system for optimizing the passing of a parameter to a routine is provided. It is determined if any parameters are aliased in a call to a called routine. In the absence of aliases, calling... |
| 6480833 |
Method of resolving overloaded routines, system for implementing the same and medium for storing processing program therefor |
| Nov-12-2002 |
An overloaded routines resolving method of analyzing an invocation for the group of overloaded routines to determine the routine to be called, the method including: the routine group sorting step of sorting... |
| 6463579 |
System and method for generating recovery code |
| Oct-8-2002 |
A system and method of compiling source code. A compiler generates intermediate code from the source code, generates object code instructions from the intermediate code and schedules the object code instructions.... |
| 6449747 |
Method for determining an optimized memory organization of a digital device |
| Sep-10-2002 |
A system and method for determining optimized scheduling intervals and optimized access conflicts and for determining an optimized memory organization of an essentially digital device. The system includes... |
| 6434742 |
Symbol for automatically renaming symbols in files during the compiling of the files |
| Aug-13-2002 |
The present symbol renaming process allows a symbol in a first source code file to be renamed by the linker. This allows new layers of software to be added under an existing interface without recompiling... |