[发明专利]将程序执行从编译代码变换到解释代码有效
申请号: | 201380008460.2 | 申请日: | 2013-01-31 |
公开(公告)号: | CN104115120A | 公开(公告)日: | 2014-10-22 |
发明(设计)人: | L·拉弗里尼尔;C·曼 | 申请(专利权)人: | 微软公司 |
主分类号: | G06F9/45 | 分类号: | G06F9/45;G06F9/30 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 顾嘉运 |
地址: | 美国华*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 可以从源自以动态语言(例如JavaScript)编写的程序的字节代码来生成经优化的编译的代码。优化可以基于一种或多种假设。在经优化的编译的代码的执行期间,所述优化所基于的所述一种或多种假设可以被检查有效性。响应于确定所述优化是基于无效的一种或多种假设,经优化的代码的执行可以停止,解释器所使用的变量的状态可以被还原并且程序的执行可以在解释器中使用源自程序的未经优化的字节代码来恢复。程序的继续可以在字节代码中的一个点处恢复,所述点类似于在经优化的编译的代码中的所述一种或多种假设被确定为假的那点。 | ||
搜索关键词: | 程序 执行 编译 代码 变换 解释 | ||
【主权项】:
一种系统,包括:计算设备的至少一个处理器;所述计算设备的存储器;以及包括加载到所述存储器中的至少一个模块的跳出引擎,所述至少一个模块使所述至少一个处理器:响应于检测到关于程序在其上操作的数据的特性的至少一种假设的无效性,将以动态语言编写的程序的执行从机器代码执行器执行的经编译的代码变换到由解释器解释的经解释的字节代码,所述经编译的代码基于所述至少一种假设被优化,所述经解释的字节代码没有基于所述至少一种假设被优化;在所述经解释的字节代码中的一个点处恢复在解释器中的所述程序的执行,所述点对应于在经优化的编译的代码中检测到无效性处的点。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软公司,未经微软公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201380008460.2/,转载请声明来源钻瓜专利网。