FREE patent keyword monitoring and additional FREE benefits. /images/triangleright (1K) REGISTER now for FREE triangleleft (1K)
Fresh Patents
Monitor Patents Patent Organizer How to File a Provisional Patent Browse Inventors Browse Industry Browse Agents Browse Locations


Data Processing: Software Development, Installation, And Management > Software Program Development Tool (e.g., Integrated Case Tool Or Stand-alone Development Tool) > Translation Of Code > Compiling Code > Optimization

Optimization

Optimization patent applications listed are from June 2005 to current and include Date, Patent Application Number, Patent Title, Patent Abstract summary and are linked to the corresponding patent application page.

11/22/07 - 20070271556 - Building a wavecache
A microarchitecture and instruction set that supports multiple, simultaneously executing threads. The approach is disclosed in regard to its applicability in connection with a recently developed microarchitecture called “WaveScalar.” WaveScalar is a compiler that breaks a control flow graph for a program into pieces called waves having instructions that are ...

11/22/07 - 20070271555 - Combined verification and compilation of bytecode
The present invention is a new method and apparatus to perform combined compilation and verification of platform independent bytecode instruction listings into optimized machine code. More specifically, the present invention creates a new method and apparatus in which bytecode compilation instructions are combined with bytecode verification instructions, producing optimized machine ...

11/08/07 - 20070261043 - Attributing memory usage by individual software components
A method, system and computer-usable medium for attributing memory usage are presented. The method includes the steps of creating an object graph of a portion of a memory heap, wherein the object graph includes nodes that represent objects and associated properties of the objects, and wherein the object graph includes ...

11/01/07 - 20070256065 - Compiler, compiler apparatus and compilation method
An operator definition file 102 and the like included in a source program 101 and a compiler 100 that translates the source program 101 into a machine language program 105 are provided. The operator definition file 102 includes definitions of various fixed point type operators by class definitions. The compiler ...

10/25/07 - 20070250825 - Compiling alternative source code based on a metafunction
In an embodiment, a function call in source code is replaced inline with a body of the function. The body of the function includes a call to a metafunction, first alternative source code, and second alternative source code. The metafunction is evaluated to determine whether a compile-time environment attribute is ...

10/18/07 - 20070245329 - Static analysis in disjunctive numerical domains
A computer implemented method for performing a path-sensitive analysis of a computer program using path-insensitive techniques employing an elaboration of the program which advantageously permits a correctness determination of the program as well as a simplification and optimization. ...

10/04/07 - 20070234327 - Configuring media applications based on performance characteristics
A method for configuring an application comprises receiving information that specifies a set of multiple states with which the application is associated during execution; receiving information that specifies whether each of one or more program modules is active during respective states, at least some of the program modules having multiple ...

10/04/07 - 20070234326 - Fast lock-free post-wait synchronization for exploiting parallelism on multi-core processors
A method for improving parallel processing of computer programs. DOACROSS loops and similar code are identified and parallelized using a post-wait control structure. The post-wait control structure may be implemented to include any one of a single counter to enforce an order of execution, an array to track code completion ...

10/04/07 - 20070234325 - Methods and apparatus to tune intermediate representations in a managed runtime environment
Methods and apparatus are disclosed to tune intermediate representations in a managed runtime environment. An example method disclosed herein receives a bytecode at a virtual machine during runtime, determines a method of the received bytecode, identifies an optimized intermediate representation associated with the method, and imports the optimized intermediate representation ...

10/04/07 - 20070234324 - Method and system for reducing cache warm-up time to suppress transmission of redundant data
In one embodiment, an optimizing device is used to suppress transmission of redundant data over networks. The first optimizing device receives information regarding associated optimizing devices associated with a second optimizing device. The information regarding the associated optimizing devices is received from the second optimizing device. Moreover, the first optimizing ...

10/04/07 - 20070234323 - Learning and cache management in software defined contexts
A exemplary system and method are provided for learning and cache management in software defined contexts. Exemplary embodiments of the present invention described herein address the problem of the data access wall resulting from processor stalls due to the increasing discrepancies between processor speed and the latency of access to ...

09/27/07 - 20070226720 - System and method for efficiently passing information between compiler and post-compile-time software
System and method are described for register optimization during code translation utilizes a technique that removes the time overhead for analyzing register usage and eliminates fixed restraints on the compiler register usage. The present invention for register optimization utilizes a compiler to produce a register usage bit vector in a ...

09/27/07 - 20070226717 - Code transformation to optimize fragments that implement constant loading
A code, which may be a post-link binary or a pre-link object file, can be transformed to optimize code fragments that implement loading a constant from memory. A constant loading code fragment includes address computing operations that compute (or copy) an address representation of a constant for consumption by a ...

08/23/07 - 20070198973 - Computer-implemented method, system, and program product for deployment time optimization of a distributed application
A computer-implemented method, system, and program product for optimizing a distributed (software) application are provided. Specifically, a configuration of a target computing environment, in which the distributed application is deployed, is discovered upon deployment of the distributed application. Thereafter, based on a set of rules and the discovered configuration, one ...

08/02/07 - 20070180438 - Stall prediction thread management
Thread switching prevents pipeline stalls when executing multiple threads. An analysis of a first thread identifies instructions capable of causing pipeline stalls. If pipeline stalls from the identified instructions are likely, thread switching instructions are added to the first thread in place of the identified instructions. Thread switching instructions direct ...

08/02/07 - 20070180437 - Method and apparatus for moving area operator definition instruction statements within control flow structures
A method and apparatus for use in compiling data for a program shader identifies within data representing control flow information an area operator definition instruction statement located outside the data dependent control flow structures. The method identifies within one of the data dependent branches at least one area operator use ...

07/26/07 - 20070174829 - Method for mapping applications on a multiprocessor platform/system
In one aspect, there is a formalized method for mapping applications on a multiprocessor system. In particular re-use possibilities are explored, e.g. focus on data transfer and memory access issues, with the aim of obtaining low-power and low-energy mappings and/or to overcome memory performance or energy bottlenecks. ...

07/26/07 - 20070174828 - Apparatus and method for partitioning programs between a general purpose core and one or more accelerators
An apparatus and method for partitioning programs between a general purpose core and one or more accelerators are provided. With the apparatus and method, a compiler front end is provided for converting a program source code in a corresponding high level programming language into an intermediate code representation. This intermediate ...

07/19/07 - 20070169050 - Apparatus and method for using database knowledge to optimize a computer program
A code optimizer is used to optimize a computer program that references a database by reading database metadata and making suitable optimizations based on the metadata. By taking into account the metadata of a database referenced in the computer program, the optimizer may make suitable optimizations to the computer program. ...

07/19/07 - 20070169049 - Automated deployment and configuration of applications in an autonomically controlled distributed computing system
A distributed computing system conforms to a multi-level, hierarchical organizational model. One or more control nodes provide for the efficient and automated allocation and management of computing functions and resources within the distributed computing system in accordance with the organization model. A user, such as a system administrator, interacts with ...

07/19/07 - 20070169048 - Method for determining ranges for algorithmic variables for a processor that uses fixed point arithmetic
A method of determining ranges for algorithmic variables for a processor that uses fixed point arithmetic is provided. The method comprises expressing overflow requirements of processor instructions as inequalities. The method also expresses precision requirements and expressiveness requirements as inequalities and merit functions. A global constraint and optimizer tool is ...

07/19/07 - 20070169046 - System and method for the distribution of a program among cooperating processors
A Veil program analyzes the source code and data of a target program and determines how best to distribute the target program and data among the processors of a multi-processor computing system. The Veil program analyzes source code loops, data sizes and types to prepare a set of distribution attempts, ...

07/19/07 - 20070169045 - Component tagging
A component tagging system for tagging various components and sub-components used by various processes allows creating a plurality of component tags for various components used in processes in a manner so that the component tags may be used in tracking various resources used by the components. The component tagging system ...

07/05/07 - 20070157187 - Process of automatically translating an extended activity diagram into a hardware component graph
A process of automatically translating an extended activity diagram (EAD) into a hardware component graph (HCG). For translating the high level programming language into a Very High Speed Integrated Circuit Hardware Description Language (VHDL), the high level programming language is first translated into an activity diagram (AD), then the AD ...

07/05/07 - 20070157186 - High-level programming language to hardware component graph translation method
A method to hardware component graph translation process for a high-level programming language, which analyzes codes of a high-level programming language to collect class information and store the collected class information in a class information object, and generates a temporal hardware component graph to obtain corresponding public methods, parameters, return ...

06/28/07 - 20070150878 - System and method for detecting redundant subroutine calls
A system and method of detecting redundant subroutine calls in a software system is provided. Call path data is obtained for the software system and stored into a call tree comprising a plurality of nodes, each node representing a software routine of the software system, the call tree describing the ...

05/24/07 - 20070118832 - Method and apparatus for evolution of custom machine representations
Methods and apparatus are provided for evaluating one or more evolutionary programs or other executable representations, such as circuits. A just-in-time optimization process evaluates an executable representation of an object. Elements of the executable representation of an object are converted to an optimized element set using just-in-time optimization. A distance ...

04/26/07 - 20070094653 - Parameter storing method, parameter storage device, multi-body problem processing apparatus, and address generator circuit
The object of the present invention is the reduction of memory capacity in a multi-body problem processing apparatus. In a parameter storing method in multi-body problem processing for performing a molecular dynamics calculation for a plurality of particles existing in a three-dimensional space, parameters required to calculate a nonassociative force ...

04/26/07 - 20070094652 - Lockless scheduling of decreasing chunks of a loop in a parallel program
A loop can be executed on a parallel processor by partitioning the loop iterations into chunks of decreasing size. An increase in speed can be realized by reducing the time taken by a thread when determining the next set of iterations to be assigned to a thread. The next set ...

04/26/07 - 20070094651 - Load balancing
Efforts to avoid time-outs during execution of an application in a managed execution environment may be implemented by monitoring memory allocation. ...

04/26/07 - 20070094650 - Method and system for optimizing source code
Methods, systems and apparatus for optimizing a source code are provided. Dependencies for each header file and source code file in the source code are identified for all possible compilation contexts. Certain dependencies can be classified into complete types and incomplete types or named references. Further, these incomplete type dependencies ...

04/19/07 - 20070089105 - Method and system for reducing memory reference overhead associated with threadprivate variables in parallel programs
A computer implemented method, system and computer program product for accessing threadprivate memory for threadprivate variables in a parallel program during program compilation. A computer implemented method for accessing threadprivate variables in a parallel program during program compilation includes aggregating threadprivate variables in the program, replacing references of the threadprivate ...

04/19/07 - 20070089104 - Method and system for managing heuristic properties
A computer implemented method, system and computer program product for managing heuristic properties for controlling an optimization transformation in a compiler or in other heuristically controlled software in a data processing system. A computer implemented method for controlling an optimization transformation in heuristically controlled software includes defining at least one ...

04/05/07 - 20070079305 - Alignment of variable length program instructions within a data processing apparatus
A compiler is provided for compiling program instructions in dependence upon a predetermined decoder input instruction alignment. The compiler comprises a program instruction sequence generator operable to process source code to produce a sequence comprising a plurality of program instructions for input to a decoder. At least one program instruction ...

04/05/07 - 20070079304 - Apparatus and method for dynamic binary translator to support precise exceptions with minimal optimization constraints
A method and apparatus for dynamic binary translator to support precise exceptions with minimal optimization constraints. In one embodiment, the method includes the translation of a source binary application generated for a source instruction set architecture (ISA) into a sequential, intermediate representation (IR) of the source binary application. In one ...

04/05/07 - 20070079303 - Systems and methods for affine-partitioning programs onto multiple processing units
Systems and methods perform affine partitioning on a code stream to produce code segments that may be parallelized. The code segments include copies of the original code stream with conditional inserted that aid in parallelizing code. The conditional is formed by determining the constraints on a processor variable determined by ...

04/05/07 - 20070079302 - Method for predicate promotion in a software loop
A method and system for optimizing the execution of a software loop is provided. The method involves the determination of an edge in a critical recurrence cycle in the software loop. The edge is a dependency link between two instructions and contains a dependee and a dependent. The dependee is ...

04/05/07 - 20070079301 - Apparatus, system, and method for persistent user-level thread
Embodiments of the invention provide a method of creating, based on an operating-system-scheduled thread running on an operating-system-visible sequencer and using an instruction set extension, a persistent user-level thread to run on an operating-system-sequestered sequencer independently of context switch activities on the operating-system-scheduled thread. The operating-system-scheduled thread and the persistent ...

03/15/07 - 20070061793 - Method, system and computer program product for optimizing software program execution during class loading phase
The present invention provides a method, system and computer program product for optimizing computer program execution during class loading phase. As a code method of the program is received for compiling prior to execution, a check is performed whether program execution is in class loading phase. Program execution is in ...

03/15/07 - 20070061792 - Method and system for automated root-cause analysis for class loading failures in java
A method and system for automated root-cause analysis for failures in class loading in a Java Virtual Machine (JVM) environment. Specifically, a class loader comprises a class loader for loading classes which comprises an identifier, a search policy object, a configuration policy object, and metadata. The identifier is unique to ...

02/22/07 - 20070044084 - Disjunctive image computation for sequential systems
A symbolic disjunctive image computation method for software models which exploits a number of characteristics unique to software models. More particularly, and according to our inventive method, the entire software model is decomposed into a disjunctive set of submodules and a separate set of transition relations are constructed. An image/reachability ...

02/22/07 - 20070044083 - Lambda expressions
The subject disclosure pertains to lambda expressions and the employment of such expressions in imperative and/or object-oriented computer programming languages. Lambda expressions can be employed in conjunction with methods (e.g., arguments, assignment . . . ) to provide a more concise and functional manner of code specification. Further, lambda expressions ...

02/22/07 - 20070044082 - Method and computer system for software tuning
Method and computer system for software tuning. A computer system stores variables (210) for storing at least one threshold value for at least one parameter (P1) influencing the performance of a software application (200) with regards to a specific task. A threshold evaluator (220) compares (430) the at least one ...

02/15/07 - 20070038987 - Preprocessor to improve the performance of message-passing-based parallel programs on virtualized multi-core processors
Provided is a complier which optimizes parallel processing. The complier records the number of execution cores, which is the number of processor cores that execute a target program. First, the compiler detects a dominant path, which is a candidate of an execution path to be consecutively executed by a single ...

02/15/07 - 20070038986 - Automation of java application using enhanced late-bound support
A Java/COM bridge provides enhanced late-bound COM-to-Java support. The Java/COM bridge allows a COM application to make a late bound call to a Java class in a Java application wherein the late bound call contains a parameter indicating that the Java class should not be instantiated. The Java/COM bridge returns ...

01/25/07 - 20070022416 - Execution device and application program
An execution device includes one or more memories for use when executing an application program. The execution device selects one of a plurality of patterns relating to memory areas required for executing the application program, secures memory areas in the one or more memories in accordance with the selected pattern, ...

01/25/07 - 20070022415 - System and method for optimized swing modulo scheduling based on identification of constrained resources
A method, computer program product, and a data processing system for scheduling instructions in a data processing system are provided. Dependencies among a plurality of nodes are analyzed to determine if any of the plurality of nodes uses a constrained resource. Each of the plurality of nodes represents an instruction ...

01/11/07 - 20070011668 - Managing parameters for graph-based computations
Ordering parameters in a graph-based computation includes determining a desired first ordering of a set of parameters associated with graph elements in a computation graph; determining an ordering constraint for the set of parameters; and determining a second ordering of the set of parameters that satisfies the ordering constraint according ...

01/04/07 - 20070006198 - Class initialization method semantics
A system and method for mitigating problems associated with automatic execution of initialization code is provided. The system includes an initialization method activator that can call a class initialization method at a pre-determined execution point. The system also includes a deadlock analyzer that can determine whether calling the initialization method ...

01/04/07 - 20070006197 - Safety verification of computer program
Optimized intermediate representation of a computer program can be verified using safety values. In one embodiment, the invention includes receiving an optimized intermediate representation of a computer program, the intermediate representation including a plurality of safety values representing safety dependencies, and verifying the safety of the computer program by checking ...

01/04/07 - 20070006196 - Methods and systems for extracting information from computer code
Methods and systems for manipulating information represented by computer code are described. Macroinstructions that are used to analyze an input are accessed. The macroinstructions are written according to a first computer system language. The macroinstructions are rewritten as strings according to a second computer system language. The strings are included ...

01/04/07 - 20070006195 - Method and structure for explicit software control of data speculation
Explicit software control is used for data speculations. The explicit software control is applied at selected locations in a computer program to provide the benefit of data speculation while eliminating the need for hardware to perform data speculation. A computer-based method first determines, via explicit software control, whether data speculation ...

01/04/07 - 20070006194 - Static analysis method regarding lyee-oriented software
A static analysis method conventionally used is applied to the Lyee requirement. More specifically, for Lyee requirement as an object, optimization (classical optimization, optimization by ordering of a predicate vector), slicing, requirement debug, and typing (error detection, type finding, security using a type) are performed. These are subjected to a ...

12/28/06 - 20060294510 - Straight-line post-increment optimization for memory access instructions
A compiler configured for optimizing non-loop memory access instructions of a computer program to form architected memory instructions conforming to a base register auto-incrementing addressing mode. The compiler includes code for obtaining an intermediate stream of code containing pseudo-memory instructions from the non-loop memory access instructions. The intermediate stream of ...

12/21/06 - 20060288338 - Offset threaded code
Translating a virtual machine instruction into a value which when logically combined with a base value yields an address of interpretation code to perform the virtual machine instruction. ...

11/30/06 - 20060271921 - Protecting software from unauthorized use by converting source code modules to byte codes
A method for anti-piracy protection of a software application by obfuscation of the execution of portions of the applications code is described. The method includes providing a language specification and library to implement the functions of the language, providing a compiler to translate the language into byte codes, and providing ...

11/09/06 - 20060253846 - Program conversion apparatus
Analyzing blocks of a conversion source program one block by one block, a function directed by one or more blocks are extracted. Then one or more blocks in a conversion destination program, which correspond to the extracted function, is extracted. In this manner, the conversion source program is converted. The ...

11/09/06 - 20060253845 - Method and apparatus for determining leaks in a java heap
An improved method, apparatus, and computer instructions for identifying a memory leak in a heap. Prior to the start of the observation period, all live objects in the heap are identified to form a set of live objects by altering an indicator in the live objects. After running the system ...

10/26/06 - 20060242635 - Method and system for optimizing array sizes in a java virtual machine
A method, computer program product, and data processing system for allocating memory for arrays in a fragmented heap is disclosed. In a preferred embodiment, a JAVA virtual machine (JVM) is enhanced to organize each array as an array of arrays (or, internally, an array of pointers to arrays, since JAVA ...

10/19/06 - 20060236311 - Abstract interpretation with a congruence abstract domain and/or a heap succession abstract domain
Techniques and tools are described for analyzing software. For example, an analysis tool performs abstract interpretation with a congruence abstract domain and/or a heap succession abstract domain. For the congruence abstract domain, the tool tracks equivalence classes between alien expressions and base domain variables. For the heap succession abstract domain, ...

10/05/06 - 20060225060 - Code swapping in embedded dsp systems
A method for swapping code in a digital signal processor includes determining whether the code is present in an external memory that is external to the digital signal processor or whether the code is present in an internal memory that is internal to the digital signal processor and copying the ...

09/21/06 - 20060212862 - System, method and program product to optimize code during run time
System, process and program product for optimizing a computer program during run time. During run time, a determination is made whether the computer program calls a method which includes a conditional evaluation of a variable which is fixed and the evaluation of the fixed variable does not result in anything ...

09/14/06 - 20060206886 - Method and system for reducing program code size
In a method for reducing code size, replaceable subsets of instructions at first locations in areas of infrequently executed instructions in a set of instructions and target subsets of instructions at second locations in the set of instructions are identified, wherein each replaceable subset matches at least one target subset. ...

08/31/06 - 20060195830 - Methods and apparatus to insure correct predecode
Techniques for ensuring a synchronized predecoding of an instruction string are disclosed. The instruction string contains instructions from a variable length instruction set and embedded data. One technique includes defining a granule to be equal to the smallest length instruction in the instruction set and defining the number of granules ...

08/24/06 - 20060190937 - Code morphing
Code morphing includes rewriting at least one underlying control structure of known code without affecting an intended context of the code. ...

08/10/06 - 20060179429 - Building a wavecache
A microarchitecture and instruction set that supports multiple, simultaneously executing threads. The approach is disclosed in regard to its applicability in connection with a recently developed microarchitecture called “WaveScalar.” WaveScalar is a compiler that breaks a control flow graph for a program into pieces called waves having instructions that are ...

08/03/06 - 20060174236 - Method and apparatus for accelerating processing of a non-sequential instruction stream on a processor with multiple compute units
Accelerating processing of a non-sequential instruction stream on a processor with multiple compute units by broadcasting to a plurality of compute units a generic instruction stream derived from a sequence of instructions; the generic instruction stream including an index section and a compute section; applying the index section to localized ...

07/20/06 - 20060161907 - Mechanism that provides more efficient event handler processing
Disclosed is an apparatus, method, service product, and program product which each provide an enhanced, registration-based event handler mechanism. Listener programs are located and compiled before notification is needed. When notification is ultimately required, the pre-located listeners can be called directly without incurring the performance expense associated with first locating ...

06/22/06 - 20060136887 - Method, system, and storage medium for dynamically reordering resource participation in two-phase commit to heuristically optimize for last-agent optimization
A histogram, or resource status history table, for multiple resources is created and maintained. A transaction or resource manager arranges and/or reorders various resources into a sequence based on the histogram such that read-only resources are prepared first and a sole non-read-only resource need not be prepared, but only committed. ...

05/18/06 - 20060107258 - Program, program code optimization method, program code compile method, program code, and information processing system
A program which causes an information processing system storing program code containing a plurality of routines to execute the following steps to perform inter-procedural optimization on part of the program code. The system generates a clone of each routine that is going to be called by another routine from among ...

05/11/06 - 20060101440 - System and method for optimizing mainframe applications
A computer-implemented method for optimizing an application having associated source code includes storing a catalog of one or more statements having an adverse affect on application performance. The method also includes compiling the source code associated with the application into one or more compiled listings. Furthermore, the method includes scanning ...

05/04/06 - 20060095901 - System and method for partitioning processor resources based on memory usage
A system and method for partitioning processor resources based on memory usage is provided. A compiler determines the extent to which a process is memory-bound and accordingly divides the process into a number of threads. When a first thread encounters a prolonged instruction, the compiler inserts a conditional branch to ...

03/30/06 - 20060070050 - Method and apparatus for reducing instruction dependencies in extended ssa form instructions
A method and apparatus for reducing instruction dependencies in extended SSA form instructions includes examining a first instruction of a worklist, wherein the worklist contains instructions in the extended SSA form that have a source, a previous link and a write mask and further produce an output. The method and ...

03/16/06 - 20060059474 - Increasing data locality of recently accessed resources
Applications written in modern garbage collected languages like C# tend to have large dynamic working sets and poor data locality and are therefore likely to spend excess time on managing data movements between memory hierarchies. Instead, a low overhead dynamic technology improves data locality of applications. The technology monitors objects ...

03/09/06 - 20060053416 - Program section layout method and layout program
A program section layout method capable of improving space efficiency of a cache memory. A grouping unit groups program sections into section groups so that the total size of the program sections composing each section group does not exceed cache memory size. A layout optimization unit optimizes the layout of ...

03/02/06 - 20060048118 - Method and apparatus for optimizing code with artificial statements
A method, apparatus, and computer instructions for facilitating optimization of code. An artificial statement is placed into the code. The artificial statement encodes information. The code is optimized with a compiler. The compiler performs an action based on the artificial statement in the code. ...

03/02/06 - 20060048117 - Method and apparatus for optimizing software program using inter-procedural strength reduction
Inter-procedural strength reduction is provided by a mechanism of the present invention to optimize software program. During a forward pass, the present invention collects information of global variables and analyzes the information to select candidate computations for optimization. During a backward pass, the present invention replaces costly computations with less ...

03/02/06 - 20060048116 - Method, system and program product for implementing single threaded optimizations in a potentially multi-threaded environment
Under the present invention, program code is examined (statically or dynamically) for characteristics indicative of a potential to generate multiple threads. If none are found, single threaded optimization(s) such as desynchronization, optimization of globals, etc., can be implemented. In addition, if the program code is later revealed to have the ...

03/02/06 - 20060048115 - Method and apparatus for automatic second-order predictive commoning
A method and apparatus for automatic second-order predictive commoning is provided by the present invention. During an analysis phase, the intermediate representation of a program code is analyzed to identify opportunities for second-order predictive commoning optimization. The analyzed information is used by the present invention for apply transformations to the ...

02/23/06 - 20060041876 - Interpreter for executing computer programs and method for collecting statistics
The invention relates to a computer program interpreter and a method for the same, using statistics to group (SR89, SR17 . . . SR6; SR4, SR34 . . . SR16) frequently used service routines (SR) in the same program function and to control encoding of instructions. Frequently used service routines ...

02/23/06 - 20060041875 - Methods and apparatus for creating software basic block layouts
Methods and apparatus to create software basic block layouts are disclosed. In one example, a method identifies branch data associated with a plurality of machine accessible instructions and identifies a plurality of basic blocks associated with the branch data. The method generates a partial layout from the plurality of basic ...

02/16/06 - 20060037010 - Processor arrangement and method for operation thereof
A method and arrangement (100) for remapping of registers (1300-13017) of a processor (130) to improve runtime performance of dynamically linked applications or to simplify the code for a wide class of iterative refinement algorithms is based on providing a CPU instruction to remap registers en masse. The advantage of ...

02/02/06 - 20060026581 - Code size reduction method through multiple load/store instructions
A method to transfer a plurality of data stored in a memory using one instruction. In a memory including at least two regions to which the addresses are assigned respectively, data are allocated to the addresses in sequence, and the allocated data are transferred using one instruction. At least one ...

02/02/06 - 20060026580 - Method and related system of dynamic compiler resolution
A method and related system of dynamic compiler resolution. Some of the illustrative embodiments are a computer-implemented method comprising compiling a source file containing an application program (the compiling creates a destination file containing a compiled version of the application program), and inserting in the compiled version of the application ...

02/02/06 - 20060026579 - Method and system for generating stacked register dumps from backing-store memory
In various embodiments of the present invention, debugging and program-behavior-analysis software can reconstruct register-based processor states for nested routine calls from the backing-store memory employed by a modern processor, and by processors of similar architectures, to automatically spill and restore register values via a register stack engine. Sufficient information resides ...

01/05/06 - 20060005177 - Method, system and program product for optimizing java application performance through data mining
Metadata describing common Java classes is extracted and utilized to optimize a Java program's performance based on the code requirements of the application. Data mining techniques extract metadata and other information about different sets of JVM byte code written by multiple vendors to determine the design choices and optimizations made ...

12/22/05 - 20050283775 - Framework for integrated intra- and inter-loop aggregation of contiguous memory accesses for simd vectorization
A method, computer program product, and information handling system for generating loop code to execute on Single-Instruction Multiple-Datapath (SIMD) architectures, where the loop contains multiple non-stride-one memory accesses that operate over a contiguous stream of memory is disclosed. A preferred embodiment identifies groups of isomorphic statements within a loop body ...

12/22/05 - 20050283774 - System and method for simd code generation in the presence of optimized misaligned data reorganization
A method, computer program product, and information handling system for generating loop code to execute on Single-Instruction Multiple-Datapath (SIMD) architectures, where the loop operates on datatypes having different lengths, is disclosed. Further, a preferred embodiment of the present invention includes a novel technique to efficiently realign or shift arbitrary streams ...

12/22/05 - 20050283773 - Framework for efficient code generation using loop peeling for simd loop code with multiple misaligned statements
A system and method is provided for vectorizing misaligned references in compiled code for SIMD architectures that support only aligned loads and stores. In this framework, a loop is first simdized as if the memory unit imposes no alignment constraints. The compiler then inserts data reorganization operations to satisfy the ...

12/22/05 - 20050283772 - Determination of loop unrolling factor for software loops
Disclosed are embodiments of a method and system for calculating an unrolling factor for software loops. The unrolling factor may be calculated by applying a formula that takes into account issue constraints of a processor. The issue constraints may include the total issue width of the processor, and may also ...

12/22/05 - 20050283771 - System and method for decreasing the memory footprint of applications with automatic memory management systems
The techniques described ease the work of garbage collectors by reducing the garbage produced. These embodiments combine the data-flow analysis of native compilers with an extension of the Java Virtual Machine (JVM). A special bytecode is inserted into the original bytecode to explicitly free unused objects. As a result, the ...

12/22/05 - 20050283770 - Detecting memory address bounds violations
In one aspect, machine-executable code is generated. The machine-executable code includes machine-readable instructions for detecting a memory address bounds violation by the program code based on a determination that a boundary memory address stored in a hardware table has been accessed during execution of the program code. The boundary memory ...

12/22/05 - 20050283769 - System and method for efficient data reorganization to satisfy data alignment constraints
A system and method is provided for vectorizing misaligned references in compiled code for SIMD architectures that support only aligned loads and stores. In the framework presented herein, a loop is first simdized as if the memory unit imposes no alignment constraints. The compiler then inserts data reorganization operations to ...

12/15/05 - 20050278713 - Automatic instruction set architecture generation
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 goal of increasing the performance of a set of applications while keeping hardware cost below a designer specified limit, or with the goal of minimizing ...

12/08/05 - 20050273777 - Efficient construction of pruned ssa form
Intermediate representations of computer code are efficiently generated. More particularly, methods described herein may be used to construct a static single assignment representation of computer code without unnecessary phi-function nodes. Potentially necessary phi-function node assignments may be analyzed to determine whether they directly reach a non-phi use or a necessary ...

11/24/05 - 20050262492 - Dynamic reconfiguration of a system monitor (drport)
Method and apparatus for a dynamically reconfigurable system monitor (20) are described. A system monitor (20) has registers (206) accessible via a reconfiguration port (201). At least one of the registers may be dynamically reconfigured via the reconfiguration port (201) to select a channel to be monitored or to store ...

11/24/05 - 20050262491 - Updating profile frequency for procedure inlining
A method and apparatus for frequency-updating for procedure inlining. The frequency-updating scheme assumes the call graph of a program has no cycles. It keeps the frequency for each procedure as accurate as that before inlining. Using the present invention, the runtime performance of a source program by a compiler is ...

11/10/05 - 20050251795 - Method, system, and program for optimizing code
Provided are a method, system, and program for optimizing code. A program is accessed comprising a plurality of instructions including at least one no operation (NOP) instruction. At least one NOP instruction in the program that is not needed to provide a processing delay to ensure data is available to ...

11/03/05 - 20050246698 - Algorithm mapping, specialized instructions and architecture features for smart memory computing
A smart memory computing system that uses smart memory for massive data storage as well as for massive parallel execution is disclosed. The data stored in the smart memory can be accessed just like the conventional main memory, but the smart memory also has many execution units to process data ...

11/03/05 - 20050246697 - Caching run-time variables in optimized code
In one embodiment, the present invention includes a method for emitting a live range statement into a program for a memory variable to be cached during run-time that has at least one simulation state variable if the memory variable is dynamically mapped, and defining the simulation state variable at a ...

11/03/05 - 20050246696 - Method and apparatus for hardware awareness of data types
A method, apparatus, and computer instructions in a processor for associating a data type with a memory location. The type is associated with a location by means of metadata that is generated and manipulated by hardware instructions that are typically generated by a compiler as it generates the other instructions ...

10/13/05 - 20050229169 - Method and system for assigning register class through efficient dataflow analysis
A method is presented including assigning a first register class to at least one symbolic register in at least one instruction, determining and assigning a second register class to the at least one register, reducing register class fixups and renaming the at least one symbolic register. Also presented is a ...

09/29/05 - 20050216899 - Resource-aware scheduling for compilers
Disclosed are embodiments of a compiler, methods, and system for resource-aware scheduling of instructions. A list scheduling approach is augmented to take into account resource constraints when determining priority for scheduling of instructions. Other embodiments are also described and claimed. ...

08/25/05 - 20050188362 - Method and system for performing link-time code optimization without additional code analysis
A system for performing code optimization is described which includes an optimizing analyzer within a compiler to generate a first optimizing transformation and a second optimizing transformation and their satisfying conditions for a compiled code. An optimization transformation module is placed within a linker to determine which of the first ...

08/04/05 - 20050172277 - Energy-focused compiler-assisted branch prediction
A processing system to reduce energy consumption and improve performance in a processor, controlled by compiler inserted information ahead of a selected branch instruction, to statically expose and control how the prediction should be completed and which mechanism should be used to achieve energy and performance efficiency. ...

07/28/05 - 20050166194 - Method and apparatus for static single assignment form dead code elimination
A method and apparatus for SSA dead code elimination includes examining a first instruction off a worklist, wherein the first instruction includes previous link and a write mask and the first instruction is an SSA instruction. The method and apparatus further includes examining at least one second instruction of the ...

07/21/05 - 20050160415 - Method and system for improving performance of java virtual machine
A method and system for improving the performance of a Java virtual machine includes extracting a byte-code of a method constituting a Java class; combining the extracted byte-code to generate a second code with a predetermined byte size and allocating the second code to a data structure of a predetermined ...

07/14/05 - 20050155024 - Method of transforming java bytecode into a directly interpretable compressed format
A method of transforming Java Jar files into a compressed format that remains directly interpretable and retains symbolic linkages within a target. ...

06/30/05 - 20050144603 - Metafile optimization
The specification describes a program used to optimize journal files such as metafiles used in the Microsoft® Windows® programming environment. The program steps through instructions from the original journal file and selectively emits the instructions to an optimized metafile using several optimization techniques. One such technique is to defer the ...

06/30/05 - 20050144602 - Methods and apparatus to compile programs to use speculative parallel threads
Methods and apparatus are disclosed to compile programs to use speculative parallel threads. An example method disclosed herein identifies a set of speculative parallel thread candidates; determines misspeculation cost values for at least some of the speculative parallel thread candidates; selects a set of speculative parallel threads from the set ...

06/23/05 - 20050138611 - Compiler optimization
A method for compiler optimization particularly well suited to object-oriented language that permit dynamic class loading. The method permits the compiler optimization of code associated with a potentially polymorphic object that is a call parameter to a virtual procedure where the procedure is a candidate for devirtualization through inlining. The ...

06/16/05 - 20050132344 - Method of compilation
A method for partitioning large computer programs and or algorithms at least part of which is to be executed by an array of reconfigurable units such as ALUS, comprising the steps of defining a maximum allowable size to be mapped onto the array, partitioning the program such that its separate ...

06/09/05 - 20050125782 - Alignment and generalization of demonstrated procedure traces
The present invention provides a a method and system for generating one or more computer-executable procedures. It can simultaneously learn from a collection of procedure instances recorded by different users on a variety of computers. In particular, the present invention aligns multiple traces and uses the aligned traces to generalize. ...



###

FreshPatents.com Support