Persistent annotation of syntax graphs for code optimization
AssigneeMicrosoft Technology Licensing, LLC
InventorBart J. F. De Smet
Life of this patent
Estimating the term…
Loading patent…
AssigneeMicrosoft Technology Licensing, LLC
InventorBart J. F. De Smet
Estimating the term…
Optimization opportunities are located and documented to enhance code translation by compilers or interpreters. An enhanced translator scans a program syntax graph, recognizes subgraph structures, and annotates nodes of the graph to document optimization characteristics of program code entities associated with the nodes. Subgraph structures and corresponding annotations may be maintained in an optimization catalog, distinct from any particular optimizable program. Optimizers improve program code translation based on the annotated syntax graph. Optimization characteristics may specify code purity in terms of execution value ranges and execution behaviors, e.g., side-effects, local or global variable usage, I/O, by-reference parameters, and which exceptions are possible. Subgraph structures may be identified using routine names, hash values, and templates with holes any constant will fill. Parent node characteristics may be inferred from characteristics of child nodes. Optimization candidates may be prioritized using weight functions. Optimizer callbacks may be inserted to evaluate optimization characteristics incrementally.
A code translation optimization system, comprising:
A method for finding optimization opportunities during code translation, the method comprising:
A computer-readable storage medium configured with data and instructions which upon execution by a processor perform a method for finding optimization opportunities during code translation, the method comprising:
Dependencies are inferred from the claim text.