[发明专利]可恢复的方法有效
| 申请号: | 201180020904.5 | 申请日: | 2011-04-26 |
| 公开(公告)号: | CN102859489A | 公开(公告)日: | 2013-01-02 |
| 发明(设计)人: | H·J·M·梅杰;M·托格森;N·M·加夫特;N·古斯塔夫松 | 申请(专利权)人: | 微软公司 |
| 主分类号: | G06F9/44 | 分类号: | G06F9/44;G06F9/45 |
| 代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 胡利鸣 |
| 地址: | 美国华*** | 国省代码: | 美国;US |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 可恢复 方法 | ||
1.一种系统,包括:
处理器和存储器;以及
编译器,所述编译器被配置为致使所述处理器:
接收包括可恢复方法的源代码,所述可恢复方法包括在句法上可区分的控制点表达式,所述控制点表达式具有签名,其中所述编译器调用多个程序模块中的程序模块,被调用的程序模块是由所述控制点表达的签名确定的,其中所述编译器从被调用的程序模块中创建至少一个专用对象;以及
加载处于所述编译器外部的库,所述库包括所述多个程序模块。
2.如权利要求1所述的系统,其特征在于,由所述编译器创建的多个专用对象表示执行控制链。
3.如权利要求1所述的系统,其特征在于,被调用的程序模块包括专用行为和专用方法,并且其中所述专用方法包括可恢复方法,所述可恢复方法包括异步方法或迭代器方法或对称协同例程方法。
4.如权利要求1所述的系统,其特征在于,所述编译器将所接收的源代码中的控制点表达式中的控制点改写成对在所述可恢复方法暂停之前执行的方法的调用、以及对在所述可恢复方法恢复之后执行的方法的调用。
5.如权利要求4所述的系统,其特征在于,用状态机逻辑扩充派生的类,并且将专用命令改写成用于状态变换和挂起的派生的类。
6.一种方法,包括:
在软件开发计算机上的编译器中接收源代码,所述源代码包括可恢复方法,所述可恢复方法包括在句法上可区分的控制点表达,其中所述编译器调用基于基于模式的交互的代码,所述代码处于所述编译器外部的库中,所述编译器从所述代码中派生专用驱动程序类;
从派生的专用驱动程序类中实例化对象,所述对象表示包括异步方法或迭代器或对称协同例程的可恢复方法。
7.如权利要求6所述的方法,其特征在于,所述专用驱动程序类包括专用行为和专用方法。
8.如权利要求8所述的方法,其特征在于,还包括:
将所接收的源代码变换成经扩充的输出代码,其中所述经扩充的输出代码包括对从符合所述基于模式的交互的模式的类中继承的专用方法的回调,其中所述回调被所述编译器插入到所述经扩充的源代码中,所插入的回调包括对在所述可恢复方法暂停之前执行的方法的调用、以及对在所述可恢复方法恢复之后执行的方法的调用。
9.如权利要求6所述的方法,其特征在于,所述在句法上可区分的控制点表达被嵌套在编写所述源代码的编程语言的控制结构内。
10.如权利要求6所述的方法,其特征在于,所述可恢复方法被改写成状态机,其中用状态机逻辑扩充所述可恢复方法的调用方法,并且把与所述可恢复方法相关联的专用命令改写成用于状态变换和挂起的代码。
11.一种包括当执行时使至少一个处理器执行下列操作的计算机可执行指令的计算机可读存储介质:
接收源代码,所述源代码包括与模式相关联的可恢复方法,所述可恢复方法包括在句法上可区分的控制点表达,其中编译器调用符合与所述可恢复方法相关联的模式的代码,所述代码处于所述编译器外部的库中,所述编译器从所述代码中创建专用驱动程序类;
从派生的专用驱动程序类中实例化对象,所述对象表示包括异步方法或迭代器或对称协同例程的可恢复方法。
12.如权利要求11所述的计算机可读存储介质,其特征在于,进一步包括当执行时使所述至少一个处理器执行下列操作的计算机可执行指令:
将专用行为和专用方法添加到来自被调用的代码的派生的专用驱动程序类。
13.如权利要求11所述的计算机可读存储介质,其特征在于,进一步包括当执行时使所述至少一个处理器执行下列操作的计算机可执行指令:
将所接收的源代码变换成经扩充的源代码,其中所述经扩充的源代码包括对从被调用的代码中继承的专用方法的回调,其中所述回调被所述编译器插入到所述经扩充的输出代码中,所插入的回调包括对在所述可恢复方法暂停之前执行的方法的调用、以及对在所述可恢复方法恢复之后执行的方法的调用。
14.如权利要求10所述的计算机可读存储介质,其特征在于,进一步包括当执行时使所述至少一个处理器执行下列操作的计算机可执行指令:
为嵌套在编写所接收的源代码的编程语言的控制结构内的回调创建控制点。
15.如权利要求10所述的计算机可读存储介质,其特征在于,进一步包括当执行时使所述至少一个处理器执行下列操作的计算机可执行指令:
将包括所述可恢复方法的所接收的源代码变换成经扩充的输出代码,使得所述经扩充的输出代码能够在分立的部分中执行,每个分立的部分都在所述经扩充的输出代码中的控制点处开始和结束。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软公司,未经微软公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201180020904.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种时域校验数字视频静帧检测方法
- 下一篇:用于准备骶髂融合的底切系统





