Compiling for multiple virtual machines targeting different processor architectures
AssigneeMicrosoft Corporation
InventorJames J. Radigan
Life of this patent
Estimating the term…
Loading patent…
AssigneeMicrosoft Corporation
InventorJames J. Radigan
Estimating the term…
A developer's system compiles a source-language program by parsing it into an intermediate language (IL) program that is independent of the architecture or resources of any particular processor. This system generates a set of machine independent annotations that record attributes and structure of the IL program such as variable definitions and uses. The annotations are in the form of a unique graph structure. Further annotations are used to associate the machine specific optimization information with each of many different microprocessors. The IL program and all the annotations are distributed to multiple user systems having mutually different virtual machines that translate the IL program into object language for their respective different processors. Optimizers in the virtual machines select graph edges based on the machine specific annotations to generate an optimized object program. The translators are table-driven. Entities in the IL program are keyed to entries in a replaceable table in each virtual machine.
A method of compiling a source program prepared in a source language for multiple different processors, the method comprising:
A method of compiling a source program prepared in a source language for multiple different processors, the method comprising:
A medium having computer executable instructions stored thereon for causing a computer to perform a method of compiling a source program prepared in a source language for multiple different processors, the method comprising:
A method of compiling a program for one of multiple different processors, comprising:
A system for compiling a source program written in a high-level source language, comprising:
A system for compiling a program written in a high-level source language, comprising:
A system for executing a program, comprising:
A medium containing computer-readable instructions and data for carrying out a method of compiling a program for multiple different processors, the method comprising:
A medium containing computer-readable instructions and data for carrying out a method of compiling a program for one of multiple different processors, the method comprising:
A computer-readable medium containing computer-readable representations of:
A computer program stored on a medium, the program comprising:
A method of compiling a source program prepared in a source language for multiple different processors, the method comprising:
A system having computer-readable instructions for causing a computer to compile a source program prepared in a source language for multiple different processors, the system comprising:
A computer-readable medium containing computer-readable representations of:
A computer program stored on a medium, the program comprising:
Dependencies are inferred from the claim text.