[发明专利]在访问动态类型化阵列对象过程中的尺寸依赖类型有效
申请号: | 201480047213.8 | 申请日: | 2014-08-25 |
公开(公告)号: | CN105493040B | 公开(公告)日: | 2019-09-20 |
发明(设计)人: | M·海森堡 | 申请(专利权)人: | 苹果公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F8/41;G06F9/448;G06F9/451;G06F9/455;G06F12/0815 |
代理公司: | 中国国际贸易促进委员会专利商标事务所 11038 | 代理人: | 宿小猛 |
地址: | 美国加*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明描述了用于针对动态类型化程序来提供对象模型中的平面阵列类型的方法和装置。可针对基于动态语言的程序来动态跟踪阵列对象是否为平面阵列类型。平面阵列类型的阵列对象的阵列元素可被存储在阵列对象的对象单元内的内联存储装置中。内联存储装置可被可用存储空间限定在相邻对象单元之间。可基于内联存储装置是否具有足够的存储空间来存储阵列的元素来检测阵列对象的平面阵列类型。平面阵列类型的阵列对象可允许在对象单元内访问的阵列对象的阵列元素而无需经由被存储在对象单元中的指针来进行附加存储器加载。 | ||
搜索关键词: | 访问 动态 类型 阵列 对象 过程 中的 尺寸 依赖 | ||
【主权项】:
1.一种数据处理系统,包括:用于在运行时期间在存储器中提供对象模型的装置,所述对象模型表示在源代码中利用一个或多个属性指定的对象,每个属性具有与属性值相关联的属性名,所述对象的所述属性具有阵列关系,所述对象模型包括在存储器中分配的对象单元,所述对象单元具有值指针和内联存储装置,所述值指针用于对被存储在所述存储器中分配的值存储装置中的所述属性值的标引;用于确定所述内联存储装置是否具有足够的空间用于所述值存储装置存储所述属性值的装置;用于如果所述内联存储装置有足够的空间用于所述值存储装置则在所述对象单元中的所述内联存储装置内分配所述值存储装置的装置,其中如果所述内联存储装置没有足够的空间用于所述值存储装置,则所述值存储装置被分配在所述对象单元之外;和用于生成指令以用于对在所述源代码中指定的所述对象的所述属性值的访问的装置,其中所述指令包括保护代码、快速代码路径和慢速代码路径,所述慢速代码路径经由所述值指针来将所述值存储装置定位在所述对象单元之外以执行对所述属性值的所述访问,所述快速代码路径在所述对象单元内执行对所述属性值的所述访问而不经由所述值指针来定位所述值存储装置,并且所述保护代码确定调用所述慢速代码路径还是所述快速代码路径以用于对所述属性值的所述访问,其中如果所述属性值具有所述阵列关系并且所述对象单元的所述内联存储装置具有足够的空间用于所述值存储装置存储所述属性值,则调用所述快速代码路径,并且其中所述指令包括配置文件代码,以在运行时配置文件中动态记录针对所述对象而访问的所述属性值的类型,所述运行时配置文件在所述存储器中分配并且与对所述属性值的每次访问相关联。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苹果公司,未经苹果公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201480047213.8/,转载请声明来源钻瓜专利网。