一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

防内存越界的程序编译方法及装置与流程

2021-11-22 13:15:00 来源:中国专利 TAG:

技术特征:
1.一种防内存越界的程序编译方法,包括:在将源程序编译为目标程序的过程中,针对所述源程序中的内存访问代码生成地址检查机器码,所述目标程序对应的内存分配空间处于一段连续的虚拟地址段内,所述虚拟地址段的段基址包含位于高位的段号和位于低位的若干零值逻辑位,所述虚拟地址段的段长不小于所述若干零值逻辑位所能够表示的最大地址空间;所述地址检查机器码用于:针对所述内存访问代码所需访问的目标内存空间,将所述目标内存空间对应的线性地址的高位数据与所述段基址中包含的段号进行比较,所述线性地址为所述目标内存空间相对于所述段基址的段偏移量与所述段基址之和,且所述高位数据与所述段号的位数相同;在比较结果为相同的情况下,允许根据所述线性地址访问内存中的所述目标内存空间。2.根据权利要求1所述的方法,还包括:针对所述内存访问代码生成地址计算机器码,所述地址计算机器码用于将所述内存访问代码中携带的段偏移量与所述段基址相加得到的所述线性地址写入第一预设存储空间,以使所述地址检查机器码在执行时从第一预设存储空间处获取所述目标内存空间对应的所述线性地址。3.根据权利要求1所述的方法,还包括:针对所述内存访问代码生成越界报警机器码,所述越界报警机器码用于在所述线性地址的高位数据与所述段基址中包含的段号比较结果为不同的情况下触发越界报警机制。4.根据权利要求3所述的方法,所述越界报警机制至少包括停止运行所述目标程序和/或输出错误信息以指示发生内存越界的指令位置。5.根据权利要求1所述的方法,所述将源程序编译为目标程序包括:在对所述源程序进行解释执行的过程中,将所述源程序编译为所述目标程序;或者,将所述源程序aot编译为所述目标程序。6.根据权利要求1所述的方法,所述段号或者所述段基址预先存储在第二预设存储空间,以使所述地址检查机器码在执行时从第二预设存储空间处获取所述段基址中包含的所述段号。7.根据权利要求6所述的方法,第二预设存储空间包括下述任一:寄存器、所述虚拟地址段中预定义的内存空间或所述虚拟地址段外预定义的内存空间。8.根据权利要求6所述的方法,第二预设存储空间仅参与生成所述地址检查机器码的编译过程。9.根据权利要求1所述的方法,所述目标程序的首地址与所述虚拟地址段的段基址对齐。10.根据权利要求1所述的方法,所述内存访问代码包括字节码。11.根据权利要求1所述的方法,所述源程序或所述目标程序为部署于区块链系统中的智能合约。12.一种防内存越界的程序编译装置,包括:地址检查机器码编译单元,用于在将源程序编译为目标程序的过程中,针对所述源程序中的内存访问代码生成地址检查机器码,所述目标程序对应的内存分配空间处于一段连续的虚拟地址段内,所述虚拟地址段的段基址包含位于高位的段号和位于低位的若干零值
逻辑位,所述虚拟地址段的段长不小于所述若干零值逻辑位所能够表示的最大地址空间;所述地址检查机器码用于:针对所述内存访问代码所需访问的目标内存空间,将所述目标内存空间对应的线性地址的高位数据与所述段基址中包含的段号进行比较,所述线性地址为所述目标内存空间相对于所述段基址的段偏移量与所述段基址之和,且所述高位数据与所述段号的位数相同;在比较结果为相同的情况下,允许根据所述线性地址访问内存中的所述目标内存空间。13.一种电子设备,其特征在于,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器通过运行所述可执行指令以实现如权利要求1

11中任一项所述的方法。14.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现如权利要求1

11中任一项所述方法的步骤。

技术总结
本说明书一个或多个实施例提供一种防内存越界的程序编译方法及装置,所述方法包括:在将源程序编译为目标程序的过程中,针对源程序中的内存访问代码生成地址检查机器码,目标程序对应的内存分配空间处于一段连续的虚拟地址段内,虚拟地址段的段基址包含位于高位的段号和位于低位的若干零值逻辑位,虚拟地址段的段长不小于若干零值逻辑位所能够表示的最大地址空间;地址检查机器码用于:将内存访问代码所需访问的目标内存空间对应的线性地址的高位数据与段基址中包含的段号进行比较,线性地址为目标内存空间相对于段基址的段偏移量与段基址之和,且高位数据与段号的位数相同;在比较结果相同的情况下,允许根据线性地址访问内存中的目标内存空间。址访问内存中的目标内存空间。址访问内存中的目标内存空间。


技术研发人员:刘晓建
受保护的技术使用者:支付宝(杭州)信息技术有限公司
技术研发日:2021.09.03
技术公布日:2021/11/21
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献