Indefinite-size variables within an intermediate language
AssigneeMicrosoft Corporation
InventorsJames S. Miller, Peter Kukol, Vance P. Morrison
Life of this patent
Estimating the term…
Abstract
Indefinite-size variables within an intermediate language are disclosed. In one embodiment, a computer-implemented method first inputs intermediate language code having a size-indefinite variable. The method generates native code based on the intermediate-language code. This includes generating a size-definite variable corresponding to the size-indefinite variable, according to a machine-specific criteria. The method then outputs the native code. In one embodiment, outputting the native code includes executing the native code.
Claims14
A computer-implemented method comprising:
- inputting an intermediate-language code having a size-indefinite variable
- generating a native code based on the intermediate-language code, including generating a size-definite variable corresponding to the size-indefinite variable according to at least one machine-specific criterion;
- and
- outputting the native code, wherein
- generating the native code further comprises receiving a location of a variable within an ordered list of variables of the intermediate-language code, an order of the ordered list being based on a length of the variables to size-indefinite variables, and determining whether the variable comprises a size-indefinite variable by referencing the location of the variable against variable-size boundaries of the list.
A computer-implemented method comprising:
- receiving a variable of an intermediate-language code;
- determining whether the variable comprises a size-indefinite variable;
- and
- upon determining that the variable comprises a size-indefinite variable, generating a size-indefinite variable in a native code corresponding to the size-indefinite variable, according to a machine-specific criteria, wherein
- receiving a variable of an intermediate-language code further comprises receiving a location of the variable within a list of variables of the intermediate-language code sorted by length from smallest-size variables to largest-size variables to size-indefinite variables, and determining whether the variable comprises a size-indefinite variable comprises referencing the location of the variable against variable-size boundaries of the list.
A device comprising:
- a compiler to compile an intermediate-language code into a native code;
- an execution engine to execute the native code;
- and
- a mechanism to determine whether a variable of the intermediate language code comprises a size-indefinite variable, and upon determining that the variable comprises a size-indefinite variable, generating a native-code size-definite variable corresponding to the size-indefinite variable according to a machine specific criteria, wherein
- the intermediate-language code includes a list of variables sorted from smallest-size variables to largest-size variables to size-indefinite variables such that the variable has a location within the list, and the mechanism is to determine whether the variable comprises a size-indefinite variable by referencing the location of the variable against variable-size boundaries of the list.
A machine-readable medium having instructions stored thereon for execution by a processor to perform a method comprising:
- receiving a variable of an intermediate-language code;
- determining whether the variable comprises a size-indefinite variable;
- and
- upon determining that the variable comprises a size-indefinite variable, generating a size-definite variable in a native code corresponding to the size-indefinite variable according to a machine-specific criteria, wherein
- receiving a variable of an intermediate-language code further comprises receiving a location of the variable within a list of variables of the intermediate-language code sorted by length from smallest-size variables to largest-size variables to size-indefinite variables, and determining whether the variable comprises a size-indefinite variable comprises referencing the location of the variable against variable-size boundaries of the list.
A computer-implemented method comprising:
- receiving a variable of an intermediate-language code;
- determining whether the variable comprises a size-indefinite variable;
- and
- upon determining that the variable comprises a size-indefinite variable, generating a size-indefinite variable in a native code corresponding to the size-indefinite variable, according to at least one machine-specific criterion, wherein
- receiving a variable of an intermediate-language code further comprises receiving a location of the variable within an ordered list of variables of the intermediate-language code, an order of the ordered list being based on a length of the variables to size-indefinite variables, and determining whether the variable comprises a size-indefinite variable comprises referencing the location of the variable against variable-size boundaries of the list.
A device comprising:
- a compiler to compile an intermediate-language code into a native code;
- an execution engine to execute the native code;
- and
- a mechanism to determine whether a variable of the intermediate language code comprises a size-indefinite variable, and upon determining that the variable comprises a size-indefinite variable, generating a native-code size-definite variable corresponding to the size-indefinite variable according to at least one machine specific criterion, wherein
- the intermediate-language code includes an ordered list of variables, an order of the ordered list being based on a length of the variables to size-indefinite variables such that the variable has a location within the list, and the mechanism is to determine whether the variable comprises a size-indefinite variable by referencing the location of the variable against variable-size boundaries of the list.
A machine-readable medium having instructions stored thereon for execution by a processor to perform a method comprising:
- receiving a variable of an intermediate-language code;
- determining whether the variable comprises a size-indefinite variable;
- and
- upon determining that the variable comprises a size-indefinite variable, generating a size-definite variable in a native code corresponding to the size-indefinite variable according to at least one machine-specific criterion, wherein
- receiving a variable of an intermediate-language code further comprises receiving a location of the variable within an ordered list of variables of the intermediate-language code, the ordered list being ordered based on a length of the variables to size-indefinite variables, and determining whether the variable comprises a size-indefinite variable comprises referencing the location of the variable against variable-size boundaries of the list.
A machine-readable medium having instructions stored thereon for execution by a processor to perform a method comprising:
- receiving a variable of an intermediate-language code;
- determining whether the variable comprises a size-indefinite variable;
- and
- upon determining that the variable comprises a size-indefinite variable, generating a size-definite variable in a native code corresponding to the size-indefinite variable according to at least one machine-specific criterion, wherein
- receiving a variable of an intermediate-language code further comprises receiving a location of the variable within a list of variables of the intermediate-language code sorted by length from smallest-size variables to largest-size variables to size-indefinite variables, and determining whether the variable comprises a size-indefinite variable comprises referencing the location of the variable against variable-size boundaries of the list.
Dependencies are inferred from the claim text.