发明名称 | 用户定义类型的编译时边界检查 | ||
摘要 | 本发明涉及用户定义类型的编译时边界检查。提供用户定义类型的编译时优化的边界检查。用户定义类具有注释的存储器访问方法,以及注释的边界提供成员,比如含有边界或在调用时返回边界的方法的整数字段。该用户定义边界的检查可在编程语言没有边界检查时提供边界检查,或者可以补充现有的边界检查,例如,通过包装内建阵列类型或垃圾收集器托管类型。边界检查可以扩展到阵列和布局被编译器控制的其他类型之外,从而允许在托管代码环境中的高效系统编程。边界检查表示由编译器插入到中间语言代码中。然后优化减少重复的边界检查。 | ||
申请公布号 | CN102402451A | 申请公布日期 | 2012.04.04 |
申请号 | CN201110306863.8 | 申请日期 | 2011.09.26 |
申请人 | 微软公司 | 发明人 | D·S·哈维 |
分类号 | G06F9/45(2006.01)I | 主分类号 | G06F9/45(2006.01)I |
代理机构 | 上海专利商标事务所有限公司 31100 | 代理人 | 陈斌 |
主权项 | 一种配置有数据且配置有指令的计算机可读非瞬态存储介质,其中所述指令在由至少一个处理器执行时使得所述处理器执行用于用户定义类型的编译时边界检查的过程,所述过程包括在程序从源代码经历中间语言代码到可执行代码的编译过程中执行的如下步骤:在源代码中标识(302)用于安全地访问存储器的用户定义类,即,具有存储器访问代码作为经注释成员并具有边界提供成员作为另一经注释成员的用户定义类,其中所述存储器访问代码经用户定义边界检查注释来注释,而所述边界提供成员被注释为指示它提供用于生成所述存储器访问代码上的边界检查的边界信息;在所述中间语言代码中插入(304)所述用户定义边界检查注释的边界检查表示;以及应用(306)优化,其中所述优化减少否则会在所述可执行代码中出现的重复的边界检查。 | ||
地址 | 美国华盛顿州 |