[发明专利]硬件辅助的对象存储器迁移有效
| 申请号: | 201580060952.5 | 申请日: | 2015-09-28 |
| 公开(公告)号: | CN107111548B | 公开(公告)日: | 2018-10-16 |
| 发明(设计)人: | Z·拉多维奇 | 申请(专利权)人: | 甲骨文国际公司 |
| 主分类号: | G06F12/02 | 分类号: | G06F12/02 |
| 代理公司: | 中国国际贸易促进委员会专利商标事务所 11038 | 代理人: | 边海梅 |
| 地址: | 美国加*** | 国省代码: | 美国;US |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 硬件 辅助 对象 存储器 迁移 | ||
1.一种计算系统,包括:
存储器;以及
耦合到所述存储器的处理器,其中作为垃圾收集过程的一部分,所述处理器被配置为:
识别所述存储器的第一区域中的用于迁移的第一对象;
通过将与所述第一对象相关联的第一版本号改变为指示为对象迁移保留的值的第二版本号,标记用于从所述存储器的所述第一区域迁移到所述存储器的第二区域的所述第一对象;
在所述第一区域中的所述第一对象被迁移到所述第二区域之前,检测对所述第一对象的访问,其中所述访问包括所述第一版本号;
将所述第一版本号与所述第二版本号进行比较;
响应于检测到所述第一版本号与所述第二版本号匹配,允许对所述第一对象的所述访问;
响应于检测到所述第一版本号与所述第二版本号不匹配,停止对所述第一对象的所述访问;
将所述第一对象从所述第一区域移动到所述第二区域;以及
响应于完成所述第一对象到所述第二区域的迁移,从所述第一对象中移除所述第二版本号。
2.如权利要求1所述的计算系统,其中所述处理器包括存储队列,所述存储队列包括多个条目,其中所述多个条目中的每个条目被配置为存储以下中的至少一个:线程标识符、版本号以及存储器损坏检测MCD启用状态,所述存储器损坏检测MCD启用状态指示对于由线程标识符识别出的给定线程是否启用了MCD检查。
3.如权利要求1所述的计算系统,其中所述第一区域是被定义为存储器损坏检测MCD区域的堆区域。
4.如权利要求1所述的计算系统,其中所述处理器被配置为利用存储器损坏检测MCD存储指令来改变与所述第一对象相关联的版本号,其中所述MCD存储指令仅修改目标地址的版本号并且使所述目标地址的应用数据保持不变。
5.如权利要求4所述的计算系统,其中所述处理器被配置为通过检测所述访问的版本号和所述第一对象的版本号之间的失配来确定所述访问发生在所述第一对象被标记用于迁移之后。
6.如权利要求1所述的计算系统,其中为了移除所述第二版本号,所述处理器被配置为将所述第二版本号改变为所述第一版本号。
7.如权利要求1所述的计算系统,其中所述处理器还被配置为响应于在所述第一对象被标记用于迁移之后检测到所述访问而触发捕捉例程来解决依赖性。
8.一种用于处理器的方法,所述方法包括:
发起垃圾收集过程,其中所述过程包括:
识别存储器的第一区域中的用于迁移的第一对象;
通过将与所述第一对象相关联的第一版本号改变为指示为对象迁移保留的值的第二版本号,标记用于从所述存储器的所述第一区域迁移到所述存储器的第二区域的所述第一对象;
在所述第一区域中的所述第一对象被迁移到所述第二区域之前,检测对所述第一对象的访问,其中所述访问包括所述第一版本号;
将所述第一版本号与所述第二版本号进行比较;
响应于检测到所述第一版本号与所述第二版本号匹配,允许对所述第一对象的所述访问;
响应于检测到所述第一版本号与所述第二版本号不匹配,停止对所述第一对象的所述访问;
将所述第一对象从所述第一区域移动到所述第二区域;以及
响应于完成所述第一对象到所述第二区域的迁移,从所述第一对象中去除所述第二版本号。
9.如权利要求8所述的方法,还包括在存储队列的多个条目中的每个条目中存储以下中的至少一个:线程标识符、版本号以及存储器损坏检测MCD启用状态,所述存储器损坏检测MCD启用状态指示对于由线程标识符识别出的给定线程是否启用了MCD检查。
10.如权利要求9所述的方法,其中所述第一区域是被定义为存储器损坏检测MCD区域的堆区域。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于甲骨文国际公司,未经甲骨文国际公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201580060952.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:用于编程语言的封装系统
- 下一篇:处理器芯片、布局方法及访问数据的方法





