[发明专利]计算机可读取存储介质、内存指针的编译方法和装置在审
| 申请号: | 202111030954.3 | 申请日: | 2021-09-03 |
| 公开(公告)号: | CN113721925A | 公开(公告)日: | 2021-11-30 |
| 发明(设计)人: | 霍元宏;章嘉晨;丁阳;王亮 | 申请(专利权)人: | 上海壁仞智能科技有限公司 |
| 主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F9/30;G06F12/06 |
| 代理公司: | 北京市柳沈律师事务所 11105 | 代理人: | 彭久云 |
| 地址: | 201100 上海市闵行区*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 计算机 读取 存储 介质 内存 指针 编译 方法 装置 | ||
1.一种内存指针的编译方法,由处理器于执行编译器的程序代码时执行,其特征在于,包括:
分析编译单元中的内容,用于确定所述编译单元中的指针操作数和指针形式参数所指向的物理地址空间;
为每个能够确定物理地址空间的第一指针操作数和第一指针形式参数更新所述编译单元中的代码,用于让所述第一指针操作数和所述第一指针形式参数携带物理地址空间信息;以及
针对每个不能够确定物理地址空间的第二指针操作数和第二指针形式参数,插入编码流程的指令,或者插入解码流程的指令,或者插入所述编码流程和所述解码流程的指令,用于让所述编译单元被执行时确定所述第二指针操作数和所述第二指针形式参数所指向的物理地址空间,
其中,所述编码流程包含第一操作,所述第一操作用于将物理地址转换成为携带所述物理地址和物理地址空间信息的标记后物理地址,
其中,所述解码流程包含第二操作、第三操作和第四操作,所述第二操作用于依据所述标记后物理地址中的所述物理地址和所述物理地址空间信息,生成指向内存中的所有使用到的所述物理地址空间的新物理地址,所述第三操作用于依据所述标记后物理地址的存取操作,对所有使用到的所述物理地址空间的所述新物理地址,产生相应的存取操作指令,并且所述第四操作用于实施选择程序,用以在所述编译单元被执行时,根据接收到的物理地址空间信息,选择相应的所述存取操作指令来执行,以存取相应的所述物理地址空间的所述新物理地址。
2.如权利要求1所述的内存指针的编译方法,其特征在于,不同的物理地址空间对应到所述内存中不重叠的物理存储单元。
3.如权利要求1所述的内存指针的编译方法,其特征在于,包含:
将所述编译单元中每个所述第一指针操作数替换成标记了物理地址空间信息的指针操作数。
4.如权利要求1所述的内存指针的编译方法,其特征在于,包含:
在所述编译单元中的第一函数中,对使用了所述第一指针形式参数的指令,用包含特定物理地址空间信息的指针,替换所述第一指针形式参数;以及
针对所述编译单元中的第二函数内所使用的所述第二指针形式参数,在所述第二函数中使用所述第二指针形式参数的指令之前,插入所述解码流程的指令,用以处理所述第二指针形式参数;并且在所述编译单元中用于调用所述第二函数的指令之前,插入所述编码流程的指令,用以处理所述第二函数所需的实际参数。
5.如权利要求1所述的内存指针的编译方法,其特征在于,包含:
针对所述编译单元中的输出指针的加载指令,在每个所述加载指令之后插入所述解码流程的指令,用以处理所述输出指针。
6.如权利要求1所述的内存指针的编译方法,其特征在于,包含:
针对所述编译单元中的不能够确定物理地址空间的输出指针的选择指令和条件分支指令,在每个所述选择指令或者每个所述条件分支指令之前,插入所述编码流程的指令,用以处理每个所述选择指令或者所述条件分支指令的操作数;并且在每个所述选择指令或者每个所述条件分支指令之后,插入所述解码流程的指令,用以处理所述输出指针。
7.如权利要求1所述的内存指针的编译方法,其特征在于,包含:
针对所述编译单元中的具有所述第一指针操作数作为存储内容的存储指令,在每个所述存储指令之前插入所述编码流程的指令,用以处理所述第一指针操作数。
8.一种计算机可读取存储介质,用于存储能够被处理器执行的程序代码,其特征在于,所述程序代码被所述处理器执行时实现如权利要求1至权利要求7中任一项所述的内存指针的编译方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海壁仞智能科技有限公司,未经上海壁仞智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111030954.3/1.html,转载请声明来源钻瓜专利网。





