10章目标程序运行时的存储组织.pptVIP

  • 0
  • 0
  • 约3.27千字
  • 约 32页
  • 2017-03-25 发布于上海
  • 举报
10章目标程序运行时的存储组织

* 第10章 目标程序运行时的存储组织 10.1 临时变量的存储分配 存储分配的原因:四元式产生大量临时变量(每个运算产生一个),如不采取措施就会浪费大量存储单元。 例:c[i]的四元式 1.(-, i, 1, T1) 2.(*, T1,5, T2) 3.([], c, T2,T3) 四元式QT[i]定义变量Y,则称i为Y的定义点;如果四元式QT[j]使用变量Z的值,则称j为Z的使用点。 临时变量的存储分配可在中间代码一级进行,也可在目标代码一级进行。 现在的目标是让更多的临时变量共享内存单元。采用动态分配法,不直接给变量分配单元,只是确定抽象地址。 定义点和使用点全部落在一个基本块内的临时变量称之为良型临时变量。 只被定义一次,且只被定义一次。 定义点与使用点在一个基本块内。 良性临时变量的特点: 基本块1 基本块2 定义点 使用点 设i为临时变量T的定义点,j为最后一个使用点,则称区间[i,j]为T的活动区。 设[i,j]和[k,l]是两个活动区,如果j=k或l=i,则称两个活动区不相交。 基本块 T1的 活动区 i j k l T2的 活动区 T1的 活动区 i k j l T2的 活动区 例子:设有语句Y:=(A*B+C)*B-D,则四元式为: 1.(*, A, B, T1) A*B 2.(+, T1,C

文档评论(0)

1亿VIP精品文档

相关文档