-
公开(公告)号:CN112199217B
公开(公告)日:2022-07-12
申请号:CN202011144938.2
申请日:2020-10-23
Applicant: 无锡江南计算技术研究所
IPC: G06F9/54
Abstract: 本发明公开一种软硬协同的线程私有数据访问优化方法,包括以下步骤:S1:编译器前端为线程私有变量节点生成带有标记的中间表达式;S2:编译器后端的代码生成模块判断线程私有变量节点所携带的标记值是否为TRUE,若为TRUE,则通过后端指令生成模板使用读线程号指令替换系统调用指令,并将读线程号指令返回值写入函数返回值专用寄存器$r0;S3:编译器根据读线程号指令返回值与线程私有数据空间地址关系在后端代码生成模块中添加线程私有数据基址计算相关指令;S4:根据S3中获取的线程私有数据基址与线程私有变量偏移,计算线程私有变量地址。本发明可以克服原始线程私有数据访问效率低下的问题,显著提升线程私有数据访问的性能。
-
公开(公告)号:CN105426755A
公开(公告)日:2016-03-23
申请号:CN201510830262.5
申请日:2015-11-24
Applicant: 无锡江南计算技术研究所
IPC: G06F21/54
CPC classification number: G06F21/54
Abstract: 本发明提供了一种基于哈希算法的库函数安全增强方法,包括:对同一函数的多次调用,将已经回溯的栈信息用链表保存起来,此后再次调用该函数时,以函数返回地址作为关键字检索链表以查找所述函数的栈信息,如果在链表中查找到所述函数的栈信息,则直接从链表取出对应的栈信息。如果在链表中没有查找到所述函数的栈信息,则针对所述函数利用指令特征码进行指令匹配,直到找到所述函数的栈信息为止,并将找到的所述函数的栈信息加入到链表中。
-
公开(公告)号:CN115687154A
公开(公告)日:2023-02-03
申请号:CN202211487167.6
申请日:2022-11-25
Applicant: 无锡江南计算技术研究所
IPC: G06F11/36
Abstract: 本发明提供一种基于Csmith随机生成器生成C程序测试用例的方法及装置,属于C程序测试技术领域。该方法包括如下步骤:S1:获取预设概率信息表,通过预设概率信息表获取预设参数;S2:生成器根据预设参数进行初始化;S3:生成器基于初始化信息生成包括main函数、变量类型、其他函数的测试用例程序,在生成main函数时输出测试用例程序的辅助信息;S4:过滤器对生成的程序片段进行安全检查;S5:生成器在过滤器对所有程序片段检查完毕后整理并输出生成的测试用例程序,并根据生成的测试用例程序计算非指针全局变量的校验和,并打印校验和。本发明自动生成大量测试用例,可以高效地暴露更多的问题,并且可根据输入进行定制化操作,节省人力成本。
-
公开(公告)号:CN112199217A
公开(公告)日:2021-01-08
申请号:CN202011144938.2
申请日:2020-10-23
Applicant: 无锡江南计算技术研究所
IPC: G06F9/54
Abstract: 本发明公开一种软硬协同的线程私有数据访问优化方法,包括以下步骤:S1:编译器前端为线程私有变量节点生成带有标记的中间表达式;S2:编译器后端的代码生成模块判断线程私有变量节点所携带的标记值是否为TRUE,若为TRUE,则通过后端指令生成模板使用读线程号指令替换系统调用指令,并将读线程号指令返回值写入函数返回值专用寄存器$r0;S3:编译器根据读线程号指令返回值与线程私有数据空间地址关系在后端代码生成模块中添加线程私有数据基址计算相关指令;S4:根据S3中获取的线程私有数据基址与线程私有变量偏移,计算线程私有变量地址。本发明可以克服原始线程私有数据访问效率低下的问题,显著提升线程私有数据访问的性能。
-
公开(公告)号:CN102455897B
公开(公告)日:2013-11-27
申请号:CN201010523297.1
申请日:2010-10-27
Applicant: 无锡江南计算技术研究所
IPC: G06F9/44
Abstract: 一种基于实例的迭代编译方法及装置。所述编译方法包括:根据编译操作参数对待编译目标程序进行更新操作或应用操作;所述更新操作通过在迭代编译目标程序后形成新实例,并以实例库中的实例对新实例预测的结果确定是否将新实例添加至实例库中;所述应用操作在编译目标程序时,从实例库中获取与目标程序中特征值最相似的多个实例,以所获得的多个实例确定所述特征值的分类,并以此对目标程序进行编译。所述编译方法结合了迭代编译技术和机器学习方法,使得编译器既可以在优化空间中搜索最优参数,进行自动调优,提高编译器的性能;又可以充分利用历史积累数据,从实例库中学习,预测最优或者较优的参数,在提高性能同时尽可能降低编译所需的时间。
-
公开(公告)号:CN102455897A
公开(公告)日:2012-05-16
申请号:CN201010523297.1
申请日:2010-10-27
Applicant: 无锡江南计算技术研究所
IPC: G06F9/44
Abstract: 一种基于实例的迭代编译方法及装置。所述编译方法包括:根据编译操作参数对待编译目标程序进行更新操作或应用操作;所述更新操作通过在迭代编译目标程序后形成新实例,并以实例库中的实例对新实例预测的结果确定是否将新实例添加至实例库中;所述应用操作在编译目标程序时,从实例库中获取与目标程序中特征值最相似的多个实例,以所获得的多个实例确定所述特征值的分类,并以此对目标程序进行编译。所述编译方法结合了迭代编译技术和机器学习方法,使得编译器既可以在优化空间中搜索最优参数,进行自动调优,提高编译器的性能;又可以充分利用历史积累数据,从实例库中学习,预测最优或者较优的参数,在提高性能同时尽可能降低编译所需的时间。
-
公开(公告)号:CN105426755B
公开(公告)日:2018-04-10
申请号:CN201510830262.5
申请日:2015-11-24
Applicant: 无锡江南计算技术研究所
IPC: G06F21/54
Abstract: 本发明提供了一种基于哈希算法的库函数安全增强方法,包括:对同一函数的多次调用,将已经回溯的栈信息用链表保存起来,此后再次调用该函数时,以函数返回地址作为关键字检索链表以查找所述函数的栈信息,如果在链表中查找到所述函数的栈信息,则直接从链表取出对应的栈信息。如果在链表中没有查找到所述函数的栈信息,则针对所述函数利用指令特征码进行指令匹配,直到找到所述函数的栈信息为止,并将找到的所述函数的栈信息加入到链表中。
-
公开(公告)号:CN105279429B
公开(公告)日:2018-01-19
申请号:CN201510826917.1
申请日:2015-11-24
Applicant: 无锡江南计算技术研究所
IPC: G06F21/52
Abstract: 本发明提供了一种GOT表写保护的保护方法,包括:并且将初始化后的GOT表的读写操作属性设置为只读;在第一次调用GOT表中包含的函数相关表格项所对应的函数时,进行地址解析,以得到入口地址;先将GOT表的读写操作属性设置为读写,然后将解析后得到的所述入口地址写入所述函数相关表格项中;在将解析后得到的所述入口地址写入所述函数相关表格项中之后,将所述GOT表的读写操作属性再次设置为只读。
-
公开(公告)号:CN105279429A
公开(公告)日:2016-01-27
申请号:CN201510826917.1
申请日:2015-11-24
Applicant: 无锡江南计算技术研究所
IPC: G06F21/52
CPC classification number: G06F21/52
Abstract: 本发明提供了一种GOT表写保护的保护方法,包括:并且将初始化后的GOT表的读写操作属性设置为只读;在第一次调用GOT表中包含的函数相关表格项所对应的函数时,进行地址解析,以得到入口地址;先将GOT表的读写操作属性设置为读写,然后将解析后得到的所述入口地址写入所述函数相关表格项中;在将解析后得到的所述入口地址写入所述函数相关表格项中之后,将所述GOT表的读写操作属性再次设置为只读。
-
公开(公告)号:CN102968379B
公开(公告)日:2015-05-06
申请号:CN201210410331.3
申请日:2012-10-24
Applicant: 无锡江南计算技术研究所
IPC: G06F12/02
Abstract: 本发明实施例提供一种寄存器分配方法、系统及处理器;其中方法基于一种处理器,所述处理器包括:向量寄存器,由至少一个存储器组成的存储器组,和内存,所述存储器组的读取速度快于内存的读取速度;所述方法包括:判断所述向量寄存器中是否存在能够存储当前变量的可用存储空间;若是,在所述可用存储空间中,为当前变量分配对应的存储空间,将所述当前变量保存入所分配的存储空间中;若否,判断所述存储器组中是否存在能够存储当前变量的可用存储空间;若是,依据所述存储器组中各存储器的读取速度,将当前变量保存入存在可用存储空间且读取速度最快的存储器中;若否,将当前变量保存入内存中。本发明减少了保存入内存的变量数量。
-
-
-
-
-
-
-
-
-