Efficient generic code in a dynamic execution environment
AssigneeMicrosoft Corporation
InventorsDonald Robert Syme, Andrew John Kennedy
Life of this patent
Estimating the term…
Loading patent…
AssigneeMicrosoft Corporation
InventorsDonald Robert Syme, Andrew John Kennedy
Estimating the term…
Efficient and flexible support for parametric polymorphism in a dynamic execution environment is provided. The addition of efficient parametric polymorphism in a dynamic execution environment expands the support of features of various source languages in intermediate language code. Dynamic allocation of typing context data and support tables at runtime optimizes memory requirements and performance in a dynamic execution environment. As typing-context-relevant-code-points are executed within the program, indices are assigned to these code points and indexed slots in appropriate typing context data structures are allocated. As a typing-context-relevant-code-point is executed within a typing context, the indexed slot within the associated typing context data structure is filled in with typing context data. Such populated slots may be reused in subsequent execution of the code point within the same typing context to avoid re-computing the typing context data.
A computer program product encoding a computer program for executing on a computer system a computer process for dynamically generating typing context data associated with a typing-context-relevant-code-point being executed within a typing context in a dynamic execution environment, the computer process comprising:
The computer program product of claim 81 wherein the category is assigned on a per-containing assembly basis.
A computer program product encoding a computer program for executing on a computer system a computer process for accessing typing context data associated with a typing-context-relevant-code-point being executed within a typing context in a dynamic execution environment, the computer process comprising:
An execution engine for executing parametrically polymorphic code and dynamically generating typing context data associated with a typing-context-relevant-code-point being executed within a typing context in a dynamic execution environment, the execution engine comprising:
A method of dynamically generating typing context data associated with a typing-context-relevant-code-point being executed within a typing context in a dynamic execution environment, the method comprising:
A method of accessing typing context data associated with a typing-context-relevant-code-point being executed within a typing context in a dynamic execution environment, the method comprising:
A computer readable medium having stored thereon a typing context data structure for defining an exact type associated with a typing-context-relevant-code-point within an instance of a generic class during execution in a dynamic execution environment, the data structure comprising:
Dependencies are inferred from the claim text.