[发明专利]引用计数的实现方法和装置在审

专利信息
申请号: 201910229091.9 申请日: 2019-03-25
公开(公告)号: CN111736925A 公开(公告)日: 2020-10-02
发明(设计)人: 周志德;丁阳;汤伟;杨飞;蒋奕;张超 申请(专利权)人: 华为技术有限公司
主分类号: G06F9/448 分类号: G06F9/448;G06F8/41;G06F12/02
代理公司: 北京润泽恒知识产权代理有限公司 11319 代理人: 王洪
地址: 518129 广东*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 引用 计数 实现 方法 装置
【权利要求书】:

1.一种引用计数的实现方法,其特征在于,包括:

对源代码进行变量使用定义分析获取所述源代码的中间表达;

对所述中间表达进行分析确定需要进行引用计数RC的引用变量和对所述引用变量要进行的RC操作,所述RC操作包括计数加一incref操作或计数减一decref操作;

对所述RC操作进行消除优化获取优化后的RC操作;

在所述中间表达中插入所述优化后的RC操作。

2.根据权利要求1所述的方法,其特征在于,所述对所述RC操作进行消除优化获取优化后的RC操作,包括:

消除对第一引用变量的decref操作,所述第一引用变量为所述中间表达中没有被定义过的本地引用变量;

消除对第二引用变量的decref操作,所述第二引用变量为在所述中间表达中的函数退出语句或函数返回语句之前没有被赋值过的本地引用变量。

3.根据权利要求1或2所述的方法,其特征在于,所述对所述RC操作进行消除优化获取优化后的RC操作,包括:

消除对第三引用变量的incref操作和对第四引用变量的decref操作,所述第三引用变量和所述第四引用变量为指向同一个资源的引用变量。

4.根据权利要求3所述的方法,其特征在于,所述对第三引用变量的incref操作为对所述第三引用变量赋值之后进行的RC操作,所述对第四引用变量的decref操作包括对所述第四引用变量赋值之前的RC操作或者在所述中间表达中的函数退出语句或函数返回语句之前的RC操作。

5.根据权利要求1-4中任一项所述的方法,其特征在于,所述对所述RC操作进行消除优化获取优化后的RC操作,包括:

消除对第一执行路径中的第五引用变量的decref操作,所述第五引用变量为在所述第一执行路径中取值为空的本地引用变量,所述第一执行路径为所述中间表达的任一执行路径;

消除对第二执行路径中的第六引用变量的incref操作和/或decref操作,所述第六引用变量为在所述第二执行路径中取值不在资源管理范围内的本地引用变量,所述第二执行路径为所述中间表达的任一执行路径。

6.根据权利要求1-5中任一项所述的方法,其特征在于,所述引用变量为所述中间表达中定义的指向资源的引用变量;所述对所述中间表达进行分析确定对所述引用变量要进行的RC操作,包括:

在赋值语句之前插入对第七引用变量的decref操作,所述赋值语句为将第八引用变量的取值赋值给第九引用变量,所述第七引用变量为赋值前的所述第九引用变量;

在所述赋值语句之后插入对所述第九引用变量的incref操作;

在所述中间表达中的函数退出语句或函数返回语句之前插入对第十引用变量的decref操作,所述第十引用变量为所述引用变量中除所述第七引用变量和待返回的引用变量外的引用变量。

7.一种引用计数的实现装置,其特征在于,包括:

构建模块,用于对源代码进行变量使用定义分析获取变量的使用和定义之间的对应关系,并根据所述对应关系获取所述源代码的中间表达;

确定模块,用于对所述中间表达进行分析确定需要进行引用计数RC的引用变量和对所述引用变量要进行的RC操作,所述RC操作包括计数加一incref操作或计数减一decref操作;

优化模块,用于对所述RC操作进行消除优化获取优化后的RC操作;

实现模块,用于在所述中间表达中插入所述优化后的RC操作。

8.根据权利要求7所述的装置,其特征在于,所述优化模块,具体用于消除对第一引用变量的decref操作,所述第一引用变量为所述中间表达中没有被定义过的本地引用变量;消除对第二引用变量的decref操作,所述第二引用变量为在所述中间表达中的函数退出语句或函数返回语句之前没有被赋值过的本地引用变量。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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