[发明专利]一种编译器及软件管理存储器的重用优化方法有效
申请号: | 201210372306.0 | 申请日: | 2012-09-28 |
公开(公告)号: | CN102880497A | 公开(公告)日: | 2013-01-16 |
发明(设计)人: | 尉红梅;王超;漆锋滨;王飞;钱宏 | 申请(专利权)人: | 无锡江南计算技术研究所 |
主分类号: | G06F9/45 | 分类号: | G06F9/45;G06F3/06 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 骆苏华 |
地址: | 214083 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 编译器 软件 管理 存储器 重用 优化 方法 | ||
技术领域
本发明涉及重用优化技术领域,尤其涉及一种编译器及软件管理存储器的重用优化方法。
背景技术
目前,fortran语言支持公用(common)块的重用,fortran语言中对于同名的common块,其数据可存放在同一段地址空间中,如下例所示:
Common/aa/x,y,z,w[10];
Common/aa/a,b,c,d[10];
对于这种定义形式,其中,x和a的存储地址是一致的,同样y和b,z和c及w[10]和d[10]也存放在同一段地址空间中,通过这种方式fortran语言可支持空间重用。
在现有技术中,C语言并不能支持空间重用,然而基于C语言的软件管理存储器容量小,不能满足技术发展的需求,因此,如何实现软件管理存储器的重用优化成为亟待解决的问题。
发明内容
本发明实施例提供了一种编译器及软件管理存储器的重用优化方法,用于对软件管理存储器进行重用优化,实现软件管理存储器的空间重用分配。
本发明实施例中提供的编译器包括:
分析模块,用于根据待写入软件管理存储器的变量的排布方式增加关键字,将所述关键字及所述变量的信息发送给编译模块;
所述编译模块,用于识别所述关键字,为所述关键字设置重用标识;对设置了重用标识的关键字对应的变量生成具有重用特征的代码形式,将所述具有重用特征的代码形式发送给链接模块;
所述链接模块,用于根据所述具有重用特征的代码形式生成临时链接脚本,对所述临时链接脚本进行链接处理,并进行重用变量的排布,实现软件管理存储器的空间重用分配。
优选的,编译模块包括:
前端语法分析模块,用于识别所述关键字,为所述关键字设置重用标识;
后端代码生成模块,用于针对设置了重用标识的关键字对应的变量生成具有重用特征的代码形式,将所述具有重用特征的代码形式发送给所述链接模块。
优选的,所述分析模块包括:
阶段划分模块,用于根据待写入软件管理存储器的变量的活跃区间划分阶段;
排布确定模块,用于利用构建线性规划模型确定划分阶段后的变量的排布方式;
关键字增加及信息发送模块,用于按照所述变量的排布方式增加关键字,将所述关键字及所述变量的信息发送给所述编译模块。
本发明实施例中提供的一种软件管理存储器的重用优化方法包括:
编译器根据待写入软件管理存储器的变量的排布方式增加关键字;
所述编译器为所述关键字设置重用标识,对设置了重用标识的关键字对应的变量生成具有重用特征的代码形式;
所述编译器根据所述具有重用特征的代码形式生成临时链接脚本;
所述编译器对所述临时链接脚本进行链接处理,并进行重用变量的排布,实现软件管理存储器的空间重用分配。
从以上技术方案可以看出,本发明实施例具有以下优点:
编译器中的分析模块根据待写入软件管理存储器的变量的排布方式增加关键字,通过增加关键字的方式定义了重用变量结构,使得可在管理存储器上开辟一段重用空间,使得不同的变量可以重用局存空间。此外,链接模块可生成临时链接脚本,并利用该临时链接脚本进行链接处理,能够有效实现软件管理存储器空间重用分配。
附图说明
图1为本发明实施例中编译器的结构的一个示意图;
图2为本发明实施例中变量阶段划分及变量的排布方式的示意图;
图3为本发明实施例中软件管理存储器的重用优化方法的一个示意图。
具体实施方式
本发明实施例提供了一种编译器及软件管理存储器的重用优化方法,用于对软件管理存储器进行重用优化,实现软件管理存储器的空间重用分配。
请参与图1,为本发明实施例中编译器的结构的实施例,包括:
分析模块101,用于根据待写入软件管理存储器的变量的排布方式增加关键字,将关键字及变量的信息发送给编译模块102;
编译模块102,用于识别关键字,为关键字上设置重用标识;对设置了重用标识的关键字对应的变量生成具有重用特征的代码形式,将具有重用特征的代码形式发送给链接模块103;
链接模块103,用于根据具有重用特征的代码形式生成临时链接脚本,对临时链接脚本进行链接处理,并进行重用变量的排布,实现软件管理存储器的空间重用分配。
其中,编译模块102包括:
前端语法分析模块104,用于识别关键字,为关键字设置重用标识;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡江南计算技术研究所,未经无锡江南计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210372306.0/2.html,转载请声明来源钻瓜专利网。