发明名称 |
用于改变回复力的中间语言支持 |
摘要 |
在改变回复中间语言代码中,寄存器已被分配但是符号引用和伪指令仍使用未绑定项目。在所生成的中间语言代码中具有特定位置的伪指令请求在该位置处插入机器指令来执行指定操作。指定操作可以包括例如执行或方便无用信息收集、存储器分配、异常处理、各种方法调用和执行引擎服务调用、托管对象字段访问、堆管理、类属代码、静态变量存储访问、地址模式修改、和/或对类型的符号引用的操作。绑定器可以将中间语言代码变换成可执行代码。在绑定期间需要极少或不需要寄存器分配,但是诸如偏移量、大小、槽等未绑定项目被确定并指定来产生可执行代码。 |
申请公布号 |
CN102221994A |
申请公布日期 |
2011.10.19 |
申请号 |
CN201110106236.X |
申请日期 |
2011.04.18 |
申请人 |
微软公司 |
发明人 |
P·F·V·索利趣 |
分类号 |
G06F9/44(2006.01)I;G06F9/45(2006.01)I |
主分类号 |
G06F9/44(2006.01)I |
代理机构 |
上海专利商标事务所有限公司 31100 |
代理人 |
陈斌 |
主权项 |
一种用数据和指令配置的计算机可读非瞬态存储介质,所述指令在被至少一个处理器执行时使所述至少一个处理器执行一种涉及用于软件产品的改变回复中间语言代码的过程,所述过程包括以下步骤:在存储器内获得(502)源代码;以及在所述存储器内从所述源代码生成(504)中间语言代码,在所述中间语言代码中,寄存器分配是执行就绪的,所生成的中间语言代码包含以下的至少一个:无用信息收集器探测伪指令(216),所述无用信息收集器探测伪指令在所生成的中间语言代码中具有特定位置,并请求在该位置处插入机器指令来检查待决的无用信息收集;对象分配伪指令(218),所述对象分配伪指令在所生成的中间语言代码中具有特定位置,并请求在该位置处插入机器指令来分配存储器以保持在所生成的中间语言代码中指定的类型的对象;异常抛出伪指令(220),所述异常抛出伪指令在所生成的中间语言代码中具有特定位置,并请求在该位置处插入机器指令来抛出在所生成的中间语言代码中指定的寄存器中标识的异常对象。 |
地址 |
美国华盛顿州 |