发明名称 |
支持静态编译程序中的动态行为 |
摘要 |
在静态编译期间提供对动态行为的支持,同时减少对JIT编译和大型运行时的依赖性。在元数据与本机代码运行时人工产物之间创建映射,诸如在类型定义元数据与运行时类型描述之间、或者在方法定义元数据、运行时类型描述、以及本机代码方法位置、或字段定义元数据、运行时类型描述、和字段位置之间。还创建运行时人工产物之间的映射。一些编译结果包括弹跳代码以支持对缩减运行时支持环境中的人工产物的反射调用、用于虚拟方法调用、调用时边界校验、调用约定转换、或编译器固有方法。一些结果通过在即便不支持完全动态行为时包括某些元数据来支持运行时诊断。 |
申请公布号 |
CN106133684A |
申请公布日期 |
2016.11.16 |
申请号 |
CN201580016645.7 |
申请日期 |
2015.03.24 |
申请人 |
微软技术许可有限责任公司 |
发明人 |
M·斯特雷霍斯基;D·C·赖顿;A·卡纳莫里;M·特罗芬;R·马丁 |
分类号 |
G06F9/45(2006.01)I;G06F9/455(2006.01)I |
主分类号 |
G06F9/45(2006.01)I |
代理机构 |
上海专利商标事务所有限公司 31100 |
代理人 |
杨丽 |
主权项 |
一种用于在缩减运行时支持环境中支持静态编译的计算机程序的动态行为的软件编译过程,所述过程包括以下步骤:接收运行时行为特性描述,所述运行时行为特性描述指定某些元数据是否要被包括在所述计算机程序的执行范围之内;根据所述运行时行为特性描述获得在所述计算机程序的执行范围之内的一些元数据的副本;在所获得的元数据的至少一部分与在所述计算机程序的静态提前编译期间生成的至少一个本机代码运行时人工产物之间创建映射;以及执行以下至少一个:生成至少一个弹跳代码以支持对缩减运行时支持环境中的人工产物的反射调用,从而支持运行时诊断。 |
地址 |
美国华盛顿州 |