5.2全局栈式存储分配 2、运行栈:把控制栈中的信息拓广到包括过程 活动所需的所有局部信息(即活动记录) m r int i
5 2. 全局栈式存储分配 2、运行栈:把控制栈中的信息拓广到包括过程 活动所需的所有局部信息(即活动记录) m m r int i r
5.2全局栈式存储分配 2、运行栈:把控制栈中的信息拓广到包括过程 活动所需的所有局部信息(即活动记录) m int m,n q1,列j q(1,9) int i
5 2. 全局栈式存储分配 2、运行栈:把控制栈中的信息拓广到包括过程 活动所需的所有局部信息(即活动记录) m m (1 9) int m n q (1, 9) r q(1,9) int m, n int i
5.2全局栈式存储分配 2、运行栈:把控制栈中的信息拓广到包括过程 活动所需的所有局部信息(即活动记录) m int m,n q(i,列 inti p(1,9)q(1,3) int m,n q(1,3) p(1,3)q(1,0 int i
5 2. 全局栈式存储分配 2、运行栈:把控制栈中的信息拓广到包括过程 活动所需的所有局部信息(即活动记录) m m (1 9) int m n q (1, 9) r q(1,9) int m, n int i p(1,9) q(1,3) int m n q (1, 3) p(1,3) q(1,0) int m, n int i
5.2全局栈式存储分配 5.2.3调用序列 过程调用和过程返回都需要执行一些代码来 管理运行栈,保存或恢复机器状态等 过程调用序列 在过程调用时执行的分配活动记录,以及把信息填 入其域中的代码 过程返回序列 在过程返▣时执行的恢复机器状态、回收活动记录, 以及使调用过程能够继续执行的代码 调用序列和返回序列常常都分成两部分,分 别位于调用过程和被调用过程中
5 2. 全局栈式存储分配 5.2.3 调用序列 • 过程调用和过程返回都需要执行 过程调用和过程返回都需要执行 些代码来 一 管理运行栈,保存或恢复机器状态等 • 过程调用序列 在过程调用时执行的分配活动记录,以及把信息填 入其域中的代码 • 过程返回序列 在过程返回时执行的恢复机器状态、回收活动记录, 以及使调用过程能够继续执行的代码 • 调用序列和返回序列常常都分成两部分,分 别位于调用过程和被调用过程中
5.2全局栈式存储分配 即使是同一种语言,过程调用序列、返回序 列和活动记录的布局也会因实现而异 设计这些序列和活动记录 返回值 布局的一些原则 参数 以活动记录中间的某个 径制链 位置作为基地址 访问链 长度能较早确定的域放在 机器状态 活动记录的中间 高部数据 临时数据
5 2. 2 全局栈式存储分配 • 即使是同一种语言,过程调用序列、返回序 列和活动记录的布局也会因实现而异 • 设计这些序列和活动记录 返 回 值 布局的一些原则 以活动记录中间的某个 参 数 – 以活动记录中间的某个 位置作为基地址 控制链 访 问 链 – 长度能较早确定的域放在 活动记录的中间 访 问 链 机器状态 临 时 数 据 局部数据