Verifying intermediate language code
AssigneeMicrosoft Corporation
InventorsDon Syme, Andrew Gordon, Jonathan A. Forbes, Vance P. Morrison
Life of this patent
Estimating the term…
Loading patent…
AssigneeMicrosoft Corporation
InventorsDon Syme, Andrew Gordon, Jonathan A. Forbes, Vance P. Morrison
Estimating the term…
A verification module evaluates intermediate language code to verify that the code is type safe before passing the code for execution. Code that is not deemed type safe can cause execution errors, corrupt the runtime environment in which the code is executing, or cause unauthorized access to protected system resources. As such, the verification module protects a computer system from intentional or inadvertent breaches of the computer system's defenses. The verification module verifies the type safety of intermediate language code that supports significant high-level language constructs prohibited by verification modules in the prior art. One exemplary verification module verifies intermediate language code that includes one or more reference-based parameter, such as a pointer (or reference), a value class containing pointers, a RefAny parameter, or a nested pointer.
A computer program product encoding a computer program for executing on a computer system a computer process for verifying a current code frame of intermediate language code for execution within a runtime call stack of a runtime environment, the intermediate language code being compiled from source code in one or more high level languages, the computer process comprising:
A method of verifying a current code frame of intermediate language code for execution within a runtime call stack of a runtime environment, the intermediate language code being compiled from source code in one or more high level languages, the method comprising:
A verification module embodied in a computer system for verifying a current code frame of intermediate language code received from a loader for execution within a runtime call stack of a runtime environment, the intermediate language code being compiled from source code in one or more high level languages, the verification module comprising:
A computer program product encoding a computer program for executing on a computer system a computer process for deferring selection of a size of a data type in intermediate language code until after source code compilation to optimize execution for an execution platform architecture having a native register size, the computer process comprising:
A compiler system embodied in a computer system for deferring selection of a size of a data type in intermediate language code until after source code compilation to optimize execution for an execution platform architecture having a native register size, the compiler system comprising:
A method of deferring selection of a size of a data type in intermediate language code until after source code compilation to optimize execution for an execution platform architecture having a native register size, the method comprising:
A computer program product encoding a computer program for executing on a computer system a computer process for verifying a current code frame of intermediate language code for execution within a runtime call stack of a runtime environment, the intermediate language code being compiled from source code in one or more high level languages, the computer process comprising:
A method of verifying a current code frame of intermediate language code for execution within a runtime call stack of a runtime environment, the intermediate language code being compiled from source code in one or more high level languages, the method comprising:
Dependencies are inferred from the claim text.