Including instrumentation and profiling

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