Abstract: A loop unrolling trasformation specified by loop unrolling factors UF[1], . . . , UF[k] is performed on a perfect nest of k multiple loops to produce an unrolled loop representation as follows. Moving from the outermost loop to the innermost loop of the nest, the unroll factor UF[j] of the current loop is examined. First, the separate unrolled loop body is expanded by the specified unroll factor UF[j]. Second, the loop header for the current loop is adjusted so that if the loop's iteration count, COUNT[j], is known to be less than or equal to the unroll factor, UP[j], then the loop header is simply an assignment of the index variable to the lower-bound expression; otherwise, the loop header is adjusted so that the unrolled loop's iteration count equals .left brkt-bot.COUNT[J]/UF[J].right brkt-bot. a rounded down truncation of the division. Third, a remainder loop nest is generated, if needed. The size of the generated code when unrolling multiple nested loops is substantially reduced.
Type:
Grant
Filed:
July 25, 1997
Date of Patent:
March 7, 2000
Assignee:
International Business Machines Corporation
Abstract: A wireless data platform (10) comprises a plurality of processors (12,16). Channels of communication are set up between processors such that they may communicate information as tasks are performed. A dynamic cross compiler (80) executed on one processor compiles code into native processing code for another processor. A dynamic cross linker (82) links the compiled code for other processor. Native code may also be downloaded to the platform through use of a JAVA Bean (90) (or other language type) which encapsulates the native code. The JAVA Bean can be encrypted and digitally signed for security purposes.
Type:
Grant
Filed:
December 22, 1997
Date of Patent:
February 22, 2000
Assignee:
Texas Instruments Incorporated
Inventors:
Matthew A. Woolsey, Marion C. Lineberry, Jihong Kim
Abstract: A system and method for computer-assisted database management software creation of a target software application from a description known as a dictionary interoperating with a universal software application. The dictionary contents customize the universal application into the target software application created from a high-level dialog between an application designer and a graphical application editor. The application editor provides an environment for editing and creating custom applications and automatically creates security partitioning of responsibilities and users, hierarchical menu structures, groupings of database data elements into efficient sets, database transactions and database partitioning without requiring programming in SQL language by an application designer. The computer stores the dictionary in a database for accessing by the universal application. The dictionary customizes the re-usable universal application for interaction with relational databases such as Oracle.RTM., IBM.RTM.
Abstract: Analysis of selected aspects of behavior of an application computer program are studied by instrumenting the program in a manner that does not affect the program behavior. A separate analysis file, called a probe instance file, is created apart from the application being instrumented. Innocuous probes are placed at selected locations in the application program to monitor progress and performance of the program. The probes can be implemented by placing markup specifications in a separate part of the file and checking the markup specifications after execution of each instruction in the application program to see whether a probe location is encountered. If so, execution is halted temporarily, and an instance of the corresponding probe code is appended to the probe instance file. Preferably, the probe bodies, i.e. the probe instance file, is subsequently executed as a separate thread. The application therefore runs at full speed. The probe bodies can be simple C statements or any other set of instructions.
Abstract: There is described a method and system for installing a JAVA application on to a computer system. The method comprises the steps of: determining the particular operating system of the computer system; selecting installation commands (such as editing registry files, creating program groups and folders) corresponding to the determined operating system from a plurality of operating system dependent installation commands; and executing the selected installation commands corresponding to the particular operating system to fully integrate the application onto the operating system.
Type:
Grant
Filed:
July 23, 1997
Date of Patent:
October 12, 1999
Assignee:
International Business Machines Corp.
Inventors:
Martin Edward Lister, Simon Phipps, Noel Rooney