Anticipatory optimization with composite folding

   
   

A method and system for anticipatory optimization of computer programs. The system generates code for a program that is specified using programming-language-defined computational constructs and user-defined, domain-specific computational constructs, the computational constructs including high-level operands that are domain-specific composites of low-level computational constructs. The system generates an abstract syntax tree (AST) representation of the program in a loop merging process. The AST has nodes representing the computational constructs of the program and abstract optimization tags for folding of the composites. A composite folding process is applied to the AST according to the optimization tags to generate optimized code for the program. The composite folding process includes identifying an optimization event, identifying each abstract optimization tag applied to the programming-language-defined computational constructs and having a transformation condition identifying the optimization event as a condition for attempting an anticipated optimization in the translation, and attempting execution of each of the anticipated optimization transformations associated with the optimization event.

Um método e um sistema para o optimization antecipador de programas de computador. O sistema gera o código para um programa que seja especificado usando construções computacionais program-língua-definidas e construções computacionais user-defined, domínio-específicas, as construções computacionais including os operandos high-level que são compostos domínio-específicos de construções computacionais de baixo nível. O sistema gera uma respresentação da árvore do abstract syntax (AST) do programa em um laço que funde o processo. O AST tem nós representar as construções computacionais dos Tag do optimization do programa e do sumário para a dobradura dos compostos. Um processo dobrando-se composto é aplicado ao AST de acordo com os Tag do optimization para gerar o código optimized para o programa. O processo dobrando-se composto inclui identificar um evento do optimization, identificar cada Tag abstrato do optimization aplicado às construções computacionais program-língua-definidas e ter uma condição da transformação identificar o evento do optimization como uma condição para tentar um optimization antecipado na tradução, e tentar a execução de cada uma das transformações antecipadas do optimization associadas com o evento do optimization.

 
Web www.patentalert.com

< Apparatus and method for representing gated-clock latches for phase abstraction

< Method and apparatus for extending a program element in a dynamically typed programming language

> Method, apparatus, and product for leasing of group membership in a distributed system

> System and method for preloading classes in a data processing device that does not have a virtual memory manager

~ 00114