发明名称 Pre-compiling hosted managed code
摘要 A hosted pre-compilation system is described herein that provides a way to enable ahead-of-time compilation for managed code running inside a host. The host triggers ahead-of-time compilation at application runtime, after any configuration settings are available. The host can choose which modules to compile, when to compile them, and where to persist the generated images. Upon detecting a module load, the host can trigger pre-compilation, provide the loader an existing pre-compiled image of the module, or do nothing. The runtime/platform validates the integrity of any host-supplied pre-compiled image and provides application programming interfaces (APIs) to inform the host when an image becomes invalid and fails to load. The platform also provides APIs to let the host trigger compilation of binaries at any time relevant to the host, and to generate the images either synchronously or in a background process.
申请公布号 US8924922(B2) 申请公布日期 2014.12.30
申请号 US201012814511 申请日期 2010.06.14
申请人 Microsoft Corporation 发明人 Biswas Surupa;Detlefs David L.;Forstall Bruce T.;Krishnaswamy Raja;Frei Kevin Bradley
分类号 G06F9/44;G06F9/455 主分类号 G06F9/44
代理机构 代理人 Sullivan Kevin;Drakos Kate;Minhas Micky
主权项 1. A computer-implemented method for loading a module in an intermediate language for use by a hosted environment, the method comprising: receiving a module load request; determining whether the module is being loaded within a hosted environment, wherein the hosted environment is isolated from a primary environment of a host machine, and wherein the hosted environment is an isolated environment configured to control security settings, resources accessing, and impose application restrictions; notifying the hosted environment of an attempt to load a module in the hosted environment; receiving a location for storing a binary image related to the loading module, wherein the location is managed by the hosted environment; validating the stored binary image accessed at the received location prior to loading the binary image for execution; upon determining that the stored binary image is invalid, notifying the hosted environment that the stored binary image is invalid; receiving a host request to generate a new binary image version of the loading module; storing the new binary image at a host-provided location; and preparing the image for execution, wherein the preceding steps are performed by at least one processor.
地址 Redmond WA US