A method for analyzing and optimizing programs that contain pointers or aggregates or both, such as found in the languages C, C++, FORTRAN-90, Ada, and Java is disclosed. The program is represented as a control flow graph. The method applies to storage locations (lvalues) computed by instructions in a program. The data flow analysis distinguishes when a definition might reach a use, and if so, whether the expression defining the address of the defined lvalue may have changed. The method ignores changes to the addressing expression where a definition does not reach. The lattice values and functions employed by the analysis are compactly represented as packed bit vectors, and operated upon in a parallel bitwise fashion. Despite the generality of definitions that define lvalues specified by expressions, the present invention computes the reachability of the definitions with a single data-flow framework that requires only one fixed-point solution per data-flow problem.

Un método para analizar y optimizar los programas que contienen indicadores o los agregados o ambos, tales como encontrado en las idiomas C, C++, FORTRAN-90, el Ada, y Java se divulga. Se representa el programa como un gráfico del flujo del control. El método aplica al almacenaje las localizaciones (lvalues) computadas por instrucciones en un programa. Los datos flujo análisis distinguen cuando una definición pudo alcanzar un uso, y si es así si la expresión que define la dirección del lvalue definido pudo haber cambiado. El método no hace caso de cambios a la expresión de dirección adonde una definición no alcanza. Los valores y las funciones del enrejado empleados por el análisis compacto se representan como vectores embalados del pedacito, y funcionado sobre en un paralelo forme bitwise. A pesar de la generalidad de las definiciones que definen los lvalues especificaron por las expresiones, los actuales cálculos de la invención el reachability de las definiciones con un solo marco del flujo de datos que requiere solamente una solución de punto fijo por problema del flujo de datos.

 
Web www.patentalert.com

< (none)

< Method, apparatus, and product for transmitting multibyte characters in a network

> Methods for extracting reference patterns in JAVA and depicting the same

> (none)

~ 00032