[发明专利]在运行时对堆数据进行池分配的方法有效

专利信息
申请号: 200910243917.3 申请日: 2009-12-25
公开(公告)号: CN101763308A 公开(公告)日: 2010-06-30
发明(设计)人: 王振江;武成岗 申请(专利权)人: 中国科学院计算技术研究所
主分类号: G06F12/02 分类号: G06F12/02
代理公司: 北京泛华伟业知识产权代理有限公司 11280 代理人: 王勇
地址: 100190 北*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 运行 数据 进行 分配 方法
【权利要求书】:

1.一种在运行时对堆数据进行池分配的方法,包括:

步骤1)、接收堆数据的内存池分配请求;

步骤2)、考察调用点上下文,将包含在包装函数中的所述调用点的地 址和调用最上层包装函数的调用点的地址加入变长调用链;

步骤3)、分析从变长调用链所分配的堆数据对象的指针信息,对于从 该变长调用链所分配的堆数据对象A和从另一变长调用链所分配的堆数 据对象B具有相同的类型,并且所述A的指针保存在所述B的某个域中 的情况,以及从该变长调用链所分配的堆数据对象A的指针记录在一组对 象C的某个域里,而从另一变长调用链所分配的堆数据对象B的指针也保 存在这组对象C的同一个域里,并且所述A和B的类型相同的情况,所 述A和B具有紧密关系,为所述A和B分配同一个内存池,为不具有紧 密关系的堆数据对象分配不同的内存池;

步骤4)、从所述内存池中为所述堆数据分配空间。

2.根据权利要求1所述的在运行时对堆数据进行池分配的方法,其 特征在于,所述的步骤3)中所述为不具有紧密关系的堆数据对象分配不 同的内存池包括:从该变长调用链所分配的堆数据对象不和从任何其它变 长调用链所分配的堆数据对象共用一个内存池,新建一个内存池。

3.根据权利要求1或2所述的在运行时对堆数据进行池分配的方法, 其特征在于,所述的步骤2)包括:

步骤2-1)、用当前的调用点的地址查找包装函数表,构造变长调用链; 所述包装函数表记录了已知的包装函数的信息,进一步包括:

步骤2-1-1)、初始化变长调用链为空;

步骤2-1-2)、将当前调用点的地址加入变长调用链中;

步骤2-1-3)、如果当前调用点的地址在包装函数表中,则把上一层调 用点变为当前调用点,然后重新执行步骤2-1-2),否则,执行步骤2-2);

步骤2-2)、用所述变长调用链查找映射表,在无法从所述映射表中找 到与该变长调用链所对应的内存池的信息时,执行步骤2-3),否则,执行 步骤4);所述映射表保存了变长调用链与内存池之间的对应关系;

步骤2-3)、根据调用点的地址上下文确定变长调用链,并更新所述的 包装函数表,进一步包括:

步骤2-3-1)、初始化这次内存分配请求的变长调用链为空;

步骤2-3-2)、将当前调用点的地址加入变长调用链中;

步骤2-3-3)、如果分配的内存对象的指针没有被存到全局变量或堆中 某个位置,而被当前调用点所在的函数返回到上一层调用点时,把当前调 用点的地址写入所述包装函数表中,上一层调用点变为当前调用点,然后 重新执行步骤2-3-2),否则执行步骤3)。

4.根据权利要求3所述的在运行时对堆数据进行池分配的方法,其 特征在于,所述的步骤3)还包括:

将所述变长调用链与为该变长调用链所分配的内存池之间的对应关 系更新到所述映射表中。

5.根据权利要求1、2或4所述的在运行时对堆数据进行池分配的方 法,其特征在于,所述的步骤4)包括:

步骤4-1)、池分配器统计所述内存池的分配次数;

步骤4-2)、当内存池的分配次数小于第一门限时,使用系统内存分配 器进行分配,否则,执行下一步;

步骤4-3)、内存池的分配次数已经达到了第一门限,进一步判断之前 分配的对象大小是否超过了第二门限,当超过时,使用系统内存分配器进 行分配,当没有超过时,从段中分配。

6.根据权利要求5所述的在运行时对堆数据进行池分配的方法,其 特征在于,所述的从段中分配包括:

步骤4-3-1)、当内存池的分配次数刚达到设定门限后,该内存池从系 统申请一块段;

步骤4-3-2)、该内存池需要分配对象时,从段中分配;

步骤4-3-3)、如果当前的段使用完毕,则申请一个新段;

步骤4-3-4)、当一个段中的对象都被释放后,段被系统回收。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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