[发明专利]在访问动态类型化对象过程中的并发内联高速缓存优化有效
申请号: | 201480047215.7 | 申请日: | 2014-08-22 |
公开(公告)号: | CN105493041B | 公开(公告)日: | 2019-04-09 |
发明(设计)人: | F·J·皮泽罗 | 申请(专利权)人: | 苹果公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F9/448;G06F8/41 |
代理公司: | 中国国际贸易促进委员会专利商标事务所 11038 | 代理人: | 宿小猛 |
地址: | 美国加*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明描述了用于基于内联高速缓存代码来并发访问动态类型对象的方法和装置。单个线程中的内联高速缓存初始化可被卸载到解译器,而不会造成不必要的同步开销。可提供线程偏置机制来检测代码块是否在单个线程中执行。此外,可减少经由编译器诸如基线JIT编译器执行的内联高速缓存初始化的次数,以提高处理性能。 | ||
搜索关键词: | 访问 动态 类型 对象 过程 中的 并发 内联 高速缓存 优化 | ||
【主权项】:
1.一种数据处理系统,包括:用于从源代码的源代码块生成初始内联代码的装置,所述源代码块指定对对象的至少一次访问,所述初始内联代码具有用于执行对所述对象的一次访问的串行内联高速缓存代码,其中所述串行内联高速缓存代码包括串行慢速代码路径和快速代码路径,所述串行内联高速缓存代码嵌入一个或多个参数以确定经由所述快速代码路径还是所述串行慢速代码路径来执行对所述对象的所述一次访问;用于从所述源代码块生成并发内联代码的装置,所述并发内联代码具有用于执行对所述对象的所述一次访问的并发内联高速缓存代码,其中所述并发内联高速缓存代码包括并发慢速代码路径和所述快速代码路径,所述并发内联高速缓存代码嵌入所述参数以确定经由所述快速代码路径还是所述并发慢速代码路径来执行对所述对象的访问;用于经由特定线程来执行所述初始内联代码以执行对所述对象的所述至少一次访问的装置,其中所述串行慢速代码路径包括自修改代码用于更新所述串行内联高速缓存代码的所述参数;和用于并发地经由一个或多个线程来执行所述并发内联代码以执行对所述对象的所述至少一次访问的装置,其中所述并发慢速代码路径包括自修改代码用于更新所述并发内联高速缓存代码的所述参数,其中如果所述串行内联高速缓存代码的所更新的参数或所述并发内联高速缓存代码的所更新的参数对应于匹配所述对象的类型的对象类型,则执行所述快速代码路径以执行对所述对象的所述至少一次访问,其中所述初始内联代码由所述特定线程执行来初始化所述参数,并且其中所述并发内联代码是在所述初始内联代码的所述执行之后被生成的。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苹果公司,未经苹果公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201480047215.7/,转载请声明来源钻瓜专利网。
- 上一篇:集体的过顶应用策略监管
- 下一篇:锁定机构