| 6738969 |
Non-intrusive gathering of code usage information to facilitate removing unused compiled code |
| May-18-2004 |
One embodiment of the present invention provides a system that gathers code usage information to facilitate removing compiled code that has not been recently used. This method operates in a mixed-mode... |
| 6738965 |
Trace information in a virtual machine |
| May-18-2004 |
A virtual machine in an object-oriented system includes an interpreter. In order to provide trace information from a program about specific method calls, a user defines a selection of methods to be traced.... |
| 6732357 |
Determining and compensating for temporal overhead in trace record generation and processing |
| May-4-2004 |
A program is profiled with enablement of trace record generation during a first period of time and with disablement of trace record generation during a second period of time. The number of trace records... |
| 6728955 |
Processing events during profiling of an instrumented program |
| Apr-27-2004 |
A user may specify a vector of metrics to be used while profiling a program. The vector of metrics may optionally be thread-relative. In response to a notification of an occurrence of the current event,... |
| 6721943 |
Compile-time memory coalescing for dynamic arrays |
| Apr-13-2004 |
In general, the malloc-combining transformation optimization during compile-time of a source program engaged in dynamically constructing multi-dimensional arrays provides an effective method of improving... |
| 6718544 |
User interface for making compiler tradeoffs |
| Apr-6-2004 |
A user interface that allows a user to visually understand, inspect, and manipulate a compiled application program as a function of compiler options, such as, code size and speed, is provided. |
| 6718543 |
Method and apparatus for optimization of the performance of an application program in a computer system while preserving the system behavior |
| Apr-6-2004 |
The present invention relates to a mechanism for copying selected routines from shared libraries into application programs thereby generating optimized application programs for more rapid execution of... |
| 6708330 |
Performance improvement of critical code execution |
| Mar-16-2004 |
Portions of code containing critical code routines are identified and labeled, then compiled into Dynamic Link Libraries ("DLLs") and linked such that the critical code routines are optimally loaded into... |
| 6694512 |
Data processing device, data processing method and supply medium thereof |
| Feb-17-2004 |
A data processing device, data processing method and a supply medium thereof for generating machine instructions to allow faster processing. A DAG (Directed Acyclic Graph) is generated from a substitute... |
| 6681387 |
Method and apparatus for instruction execution hot spot detection and monitoring in a data processing unit |
| Jan-20-2004 |
Disclosed is a method and apparatus for detecting and monitoring program hot spots during execution that may be implemented in hardware. A hot spot detector tracks branch instructions which are retired.... |
| 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... |
| 6678883 |
Apparatus and method for creating a trace file for a trace of a computer program based on loaded module information |
| Jan-13-2004 |
An apparatus and method for cataloging symbolic data for use in performance analysis of computer programs is provided. The apparatus and method stores symbolic data for loaded modules during or shortly... |
| 6671877 |
Method and device to calculate activity degrees of method programs |
| Dec-30-2003 |
To provide a method for calculating an activity degree of a method in order to effectively select a method for discarding a code. At a compilation time, a calling map concerning method calls which may... |
| 6671876 |
Monitoring of software operation for improving computer program performance |
| Dec-30-2003 |
The operation of software carrying out a computer program is monitored for determining which blocks of code are being run and which are inactive. Each block of code being monitored has a software probe... |
| 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.... |
| 6662359 |
System and method for injecting hooks into Java classes to handle exception and finalization processing |
| Dec-9-2003 |
The present invention is directed to a system, method and instructions for handling path flow exception and finalization processing in an object oriented programming language. Initially, each instrumentation... |
| 6658657 |
Method and apparatus for reducing the overhead of virtual method invocations |
| Dec-2-2003 |
A method including compiling a method bar having a virtual method call. The virtual method call is eliminated. The method bar is inlined without generating checking code, and dynamically loading a class. |
| 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... |
| 6634022 |
Method for platform specific efficiency enhancement of java programs and software product therefor |
| Oct-14-2003 |
A method for optimizing and enhancing Java programs to run more efficiently on specific hardware platforms, with a focus on increased execution performance and a reduction of the amount of memory the Java... |
| 6631518 |
Generating and utilizing organized profile information |
| Oct-7-2003 |
Disclosed is a system and method for a profiling system wherein profile data is stored in a separable hierarchical fashion such that profile data for each compiled procedure in a computer program can be... |
| 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... |
| 6625808 |
Method and apparatus for facilitating memory management in a program comprised of heterogeneous components |
| Sep-23-2003 |
A method comprising identifying points of transition between garbage collected program components and non-garbage collected program components of a heterogeneous program, and selectively invoking a transition... |
| 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... |
| 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... |
| 6553362 |
Case-reduced verification condition generation system and method using weakest precondition operator expressed using strongest postcondition operators |
| Apr-22-2003 |
The instructions in a computer program are converted into a form of weakest precondition so as to produce a verification condition that is to be evaluated by a theorem prover. In generating the weakest... |
| 6550058 |
Stack clearing device and method |
| Apr-15-2003 |
A method for removing residual data from a computer program stack prior to returning control to a calling or controlling process with system and method for automatic inclusion thereof into software application... |
| 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... |
| 6523173 |
Method and apparatus for allocating registers during code compilation using different spill strategies to evaluate spill cost |
| Feb-18-2003 |
Register allocation during computer program code compilation is accomplished by determining a set of spill candidates, by evaluating a cost function for each spill candidate using a plurality of spill... |
| 6519765 |
Method and apparatus for eliminating redundant array range checks in a compiler |
| Feb-11-2003 |
Java language is, as its specification, capable of detecting an access exceeding an array range, and when there is no user-defined exception handler, moving control to an invoked method after getting out... |
| 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... |
| 6487577 |
Distributed compiling |
| Nov-26-2002 |
A method and apparatus for distributing compiling jobs among a number of sub-contractor computers in a network is described. The method involves publishing job-shops, which are computer capability descriptions... |
| 6481008 |
Instrumentation and optimization tools for heterogeneous programs |
| Nov-12-2002 |
Pre-defined performance tools enable instrumentation and optimization of a heterogeneous program by modifying a platform-neutral intermediate representation (IR) of the program. The intermediate representation... |
| 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... |
| 6463582 |
Dynamic optimizing object code translator for architecture emulation and dynamic optimizing object code translation method |
| Oct-8-2002 |
An optimizing object code translation system and method perform dynamic compilation and translation of a target object code on a source operating system while performing optimization. Compilation and optimization... |
| 6430741 |
System and method for data coverage analysis of a computer program |
| Aug-6-2002 |
The inventive system and method is directed toward verifying the accuracy of data tables specified by a developer to be used by a program. The system searches through an application program for instructions... |
| 6421826 |
Method and apparatus for performing prefetching at the function level |
| Jul-16-2002 |
One embodiment of the present invention provides a system for compiling source code into executable code that performs prefetching for memory operations within regions of code that tend to generate cache... |
| 6397382 |
Dynamic software code instrumentation with cache disabling feature |
| May-28-2002 |
A method and system of monitoring code as it is executed by a target processor is provided for debugging, etc. Standardized software code function preamble and postamble instructions are dynamically replaced... |
| 6381735 |
Dynamic classification of sections of software |
| Apr-30-2002 |
Dynamic classification of sections of software using a profile-based optimization system optimizes management of the sections of software. Software executes under expected usage conditions. After execution,... |
| 6349137 |
Apparatus and method for providing support software for an agent workstation of an automatic call distributor |
| Feb-19-2002 |
An agent of an automatic call distribution system which requires a plurality of software applications employs a server which profiles a software applications usage pattern and preloads a set of software... |
| 6341371 |
System and method for optimizing program execution in a computer system |
| Jan-22-2002 |
A method, computer system and article of manufacture for optimizing a computer program, the method comprising the steps of executing an application program and profiling selected loops of the executing... |
| 6327704 |
System, method, and product for multi-branch backpatching in a dynamic translator |
| Dec-4-2001 |
A computer-implemented system, method, and product are provided for multi-branch backpatching in a dynamic translator. Such backpatching typically increases the speed of execution of translated instructions... |
| 6327699 |
Whole program path profiling |
| Dec-4-2001 |
A program is instrumented to record acyclic paths during execution of the program. A whole program path is produced from the record and provides a complete compact record of a program's entire control... |
| 6324689 |
Mechanism for re-writing an executable having mixed code and data |
| Nov-27-2001 |
A method for permitting software optimization tools, software instrumenting tools and other analysis tools to re-write executables having mixed instructions and data uses a data structure having an entry... |
| 6308324 |
Multi-stage profiler |
| Oct-23-2001 |
A profiler that operates in a multi-stage environment is disclosed. As program code undergoes a series of transformations, branches of interest are selected and tracked. Regardless of how many transformations... |
| 6308322 |
Method and apparatus for reduction of indirect branch instruction overhead through use of target address hints |
| Oct-23-2001 |
The present invention efficiently and accurately predicts indirect branch target addresses in computer code, thereby significantly increasing processing speed. According to the present invention, an optimizing... |
| 6301652 |
Instruction cache alignment mechanism for branch targets based on predicted execution frequencies |
| Oct-9-2001 |
A compiler system and method is provided that can 1) generate a second instruction stream from a first instruction stream, 2) read in and process predetermined external information regarding the basic... |
| 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... |
| 6289506 |
Method for optimizing Java performance using precompiled code |
| Sep-11-2001 |
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... |
| 6289505 |
Method, apparatus and computer programmed product for binary re-optimization using a high level language compiler |
| Sep-11-2001 |
Apparatus, methods and computer program products are disclosed for a high level language compiler that includes a binary re-optimization capability. This re-optimization capability inputs a binary executable... |