[发明专利]在循环图中管理对象生命期有效

专利信息
申请号: 201210354921.9 申请日: 2012-09-10
公开(公告)号: CN102999328A 公开(公告)日: 2013-03-27
发明(设计)人: M·J·希尔伯格;R·克里什纳斯瓦米 申请(专利权)人: 微软公司
主分类号: G06F9/44 分类号: G06F9/44
代理公司: 中国专利代理(香港)有限公司 72001 代理人: 董宁;汪扬
地址: 美国华*** 国省代码: 美国;US
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 循环 管理 对象 生命
【权利要求书】:

1.一种用于在计算机系统上同步来自被计数对象图的引用信息与被垃圾收集对象图以准备尝试收回系统资源的方法,该计算机系统包括一个或更多个处理器和系统内存,该计算机系统运行分配各部分系统内存以存储对象的应用,系统内存包括被计数对象图和被垃圾收集对象图,被计数对象图包括其生命期根据引用计数管理的一个或更多个被引用计数对象,被垃圾收集对象图包括其生命期根据垃圾收集管理的一个或更多个GC对象,被引用计数对象通过被计数包装器引用GC对象,GC对象通过引用包装器引用被引用计数对象,该方法包括:

确定要执行垃圾收集的动作;

响应于所述确定并且在执行垃圾收集之前:

确定该被计数包装器能够从该引用包装器经由被计数对象图到达的动作;和

保护通过被计数包装器引用的该GC对象的生命期的动作;以及

执行垃圾收集以确定是否能够收回任何分配的系统资源的动作,垃圾收集考虑由该引用包装器有效引用的该GC对象。

2.如权利要求1所述的方法,还包括在垃圾收集后移除该引用包装器与该GC对象之间的引用的动作。

3.如权利要求1所述的方法,其中保护通过被计数包装器引用的该GC对象的生命期的动作包括创建该GC对象关于该引用包装器的相关性的动作。

4.如权利要求1所述的方法,其中确定该被计数包装器能够从该引用包装器经由被计数对象图到达的动作包括分析模块确定该被计数包装器能够从该引用包装器经由被计数对象图到达的动作。

5.如权利要求1所述的方法,还包括确定该被计数包装器间接引用该GC对象的动作。

6.如权利要求1所述的方法,还包括确定该被计数包装器直接引用该GC对象的动作。

7.如权利要求1所述的方法,其中执行垃圾收集以确定是否能够收回任何分配的系统资源的动作包括移除一个或更多个对象以收回系统内存的动作。

8.一种用于在计算机系统上确定如何引用被引用计数对象以准备尝试收回系统资源的方法,该计算机系统包括一个或更多个处理器和系统内存,该计算机系统运行分配各部分系统内存以存储对象的应用,系统内存包括被计数对象图和被垃圾收集对象图,被计数对象图包括其生命期根据引用计数管理的一个或更多个被引用计数对象,被垃圾收集对象图包括其生命期根据垃圾收集管理的一个或更多个GC对象,被引用计数对象通过被计数包装器引用GC对象,GC对象通过引用包装器引用被引用计数对象,该方法包括:

确定要执行垃圾收集的动作;

响应于所述确定并且在实施垃圾收集之前:

确定被引用计数对象通过指定类型的引用的可到达性的动作;和

基于该指定类型的引用访问关于垃圾收集的信息的动作;以及

执行垃圾收集以确定是否能够收回任何分配的系统资源的动作,垃圾收集考虑当确定是否要收回该被引用计数对象时访问的信息。

9.如权利要求8所述的方法,其中确定被引用计数对象通过指定类型的引用的可到达性的动作包括确定该被引用计数对象可通过标准引用到达。

10.如权利要求8所述的方法,其中确定被引用计数对象通过指定类型的引用的可到达性的动作确定该被引用计数对象可通过被跟踪引用到达。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软公司,未经微软公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201210354921.9/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top