基于实例的迭代编译方法及编译装置

    公开(公告)号:CN102455897B

    公开(公告)日:2013-11-27

    申请号:CN201010523297.1

    申请日:2010-10-27

    Abstract: 一种基于实例的迭代编译方法及装置。所述编译方法包括:根据编译操作参数对待编译目标程序进行更新操作或应用操作;所述更新操作通过在迭代编译目标程序后形成新实例,并以实例库中的实例对新实例预测的结果确定是否将新实例添加至实例库中;所述应用操作在编译目标程序时,从实例库中获取与目标程序中特征值最相似的多个实例,以所获得的多个实例确定所述特征值的分类,并以此对目标程序进行编译。所述编译方法结合了迭代编译技术和机器学习方法,使得编译器既可以在优化空间中搜索最优参数,进行自动调优,提高编译器的性能;又可以充分利用历史积累数据,从实例库中学习,预测最优或者较优的参数,在提高性能同时尽可能降低编译所需的时间。

    基于实例的迭代编译方法及编译装置

    公开(公告)号:CN102455897A

    公开(公告)日:2012-05-16

    申请号:CN201010523297.1

    申请日:2010-10-27

    Abstract: 一种基于实例的迭代编译方法及装置。所述编译方法包括:根据编译操作参数对待编译目标程序进行更新操作或应用操作;所述更新操作通过在迭代编译目标程序后形成新实例,并以实例库中的实例对新实例预测的结果确定是否将新实例添加至实例库中;所述应用操作在编译目标程序时,从实例库中获取与目标程序中特征值最相似的多个实例,以所获得的多个实例确定所述特征值的分类,并以此对目标程序进行编译。所述编译方法结合了迭代编译技术和机器学习方法,使得编译器既可以在优化空间中搜索最优参数,进行自动调优,提高编译器的性能;又可以充分利用历史积累数据,从实例库中学习,预测最优或者较优的参数,在提高性能同时尽可能降低编译所需的时间。

    一种寄存器分配方法、系统及处理器

    公开(公告)号:CN102968379A

    公开(公告)日:2013-03-13

    申请号:CN201210410331.3

    申请日:2012-10-24

    Abstract: 本发明实施例提供一种寄存器分配方法、系统及处理器;其中方法基于一种处理器,所述处理器包括:向量寄存器,由至少一个存储器组成的存储器组,和内存,所述存储器组的读取速度快于内存的读取速度;所述方法包括:判断所述向量寄存器中是否存在能够存储当前变量的可用存储空间;若是,在所述可用存储空间中,为当前变量分配对应的存储空间,将所述当前变量保存入所分配的存储空间中;若否,判断所述存储器组中是否存在能够存储当前变量的可用存储空间;若是,依据所述存储器组中各存储器的读取速度,将当前变量保存入存在可用存储空间且读取速度最快的存储器中;若否,将当前变量保存入内存中。本发明减少了保存入内存的变量数量。

    一种GOT表写保护的保护方法

    公开(公告)号:CN105279429B

    公开(公告)日:2018-01-19

    申请号:CN201510826917.1

    申请日:2015-11-24

    Abstract: 本发明提供了一种GOT表写保护的保护方法,包括:并且将初始化后的GOT表的读写操作属性设置为只读;在第一次调用GOT表中包含的函数相关表格项所对应的函数时,进行地址解析,以得到入口地址;先将GOT表的读写操作属性设置为读写,然后将解析后得到的所述入口地址写入所述函数相关表格项中;在将解析后得到的所述入口地址写入所述函数相关表格项中之后,将所述GOT表的读写操作属性再次设置为只读。

    指针别名关系判断方法和代码多版本优化方法

    公开(公告)号:CN102981837B

    公开(公告)日:2016-04-13

    申请号:CN201210439950.5

    申请日:2012-11-06

    Abstract: 本发明提供了一种指针别名关系判断方法和代码多版本优化方法。所述指针别名关系判断方法包括:判断第一循环体在执行一次循环操作时所述第一循环体内的第一指针所指向的第一地址段偏移和第二循环体在执行相同次循环操作时第二循环体内的第二指针所指向的第二地址段偏移是否重合,所述第一循环体和第二循环体是根据待优化循环体生成的两个不同版本;判断所述第一循环体在结束上一次循环操作转入下一次循环操作时所述第一指针指向的第一地址段跨步和所述第二循环体在结束上一次循环操作转入下一次循环操作时所述第二指针指向的第二地址段跨步是否相等;以及如果上述两个判断步骤结果均为是,则确定所述第一指针和所述第二指针互为指针别名关系。

    一种GOT表写保护的保护方法

    公开(公告)号:CN105279429A

    公开(公告)日:2016-01-27

    申请号:CN201510826917.1

    申请日:2015-11-24

    CPC classification number: G06F21/52

    Abstract: 本发明提供了一种GOT表写保护的保护方法,包括:并且将初始化后的GOT表的读写操作属性设置为只读;在第一次调用GOT表中包含的函数相关表格项所对应的函数时,进行地址解析,以得到入口地址;先将GOT表的读写操作属性设置为读写,然后将解析后得到的所述入口地址写入所述函数相关表格项中;在将解析后得到的所述入口地址写入所述函数相关表格项中之后,将所述GOT表的读写操作属性再次设置为只读。

    一种寄存器分配方法、系统及处理器

    公开(公告)号:CN102968379B

    公开(公告)日:2015-05-06

    申请号:CN201210410331.3

    申请日:2012-10-24

    Abstract: 本发明实施例提供一种寄存器分配方法、系统及处理器;其中方法基于一种处理器,所述处理器包括:向量寄存器,由至少一个存储器组成的存储器组,和内存,所述存储器组的读取速度快于内存的读取速度;所述方法包括:判断所述向量寄存器中是否存在能够存储当前变量的可用存储空间;若是,在所述可用存储空间中,为当前变量分配对应的存储空间,将所述当前变量保存入所分配的存储空间中;若否,判断所述存储器组中是否存在能够存储当前变量的可用存储空间;若是,依据所述存储器组中各存储器的读取速度,将当前变量保存入存在可用存储空间且读取速度最快的存储器中;若否,将当前变量保存入内存中。本发明减少了保存入内存的变量数量。

    指针别名关系判断方法和代码多版本优化方法

    公开(公告)号:CN102981837A

    公开(公告)日:2013-03-20

    申请号:CN201210439950.5

    申请日:2012-11-06

    Abstract: 本发明提供了一种指针别名关系判断方法和代码多版本优化方法。所述指针别名关系判断方法包括:判断第一循环体在执行一次循环操作时所述第一循环体内的第一指针所指向的第一地址段偏移和第二循环体在执行相同次循环操作时第二循环体内的第二指针所指向的第二地址段偏移是否重合,所述第一循环体和第二循环体是根据待优化循环体生成的两个不同版本;判断所述第一循环体在结束上一次循环操作转入下一次循环操作时所述第一指针指向的第一地址段跨步和所述第二循环体在结束上一次循环操作转入下一次循环操作时所述第二指针指向的第二地址段跨步是否相等;以及如果上述两个判断步骤结果均为是,则确定所述第一指针和所述第二指针互为指针别名关系。

Patent Agency Ranking