发明名称 | 分配堆栈槽的方法与装置 | ||
摘要 | 本文披露了用于分配和使用堆栈空间的方法及装置。按照本发明的一个方面,一种计算机实现的在基于对象的系统中分配堆栈空间的方法包括获得适合编译的源代码并包括与变量相关联的定义。在寄存器分配期间,对堆栈槽和机器寄存器的处置几乎是类似的。这包括的步骤是,创建一干扰图,复制合并(copy coalescing),尝试对干扰图着色,并判断对干扰图着色的尝试是否成功。如果着色的尝试不成功,在源代码中插入的就不是的溢出代码,而是寄存器到寄存器复制命令(例如“reg-reg”复制命令)。“reg-reg”复制命令包括与堆栈槽和机器寄存器二者相关的复制命令。 | ||
申请公布号 | CN1160624C | 申请公布日期 | 2004.08.04 |
申请号 | CN00107014.2 | 申请日期 | 2000.04.24 |
申请人 | 太阳微系统有限公司 | 发明人 | 小C·N·克利克;C·A·维克;M·H·帕雷茨尼 |
分类号 | G06F9/44 | 主分类号 | G06F9/44 |
代理机构 | 中国专利代理(香港)有限公司 | 代理人 | 吴立明;陈景峻 |
主权项 | 1.一种用于在基于对象的系统中分配堆栈空间的、计算机实现的方法,该计算机实现的方法包含:a)获得源代码,源代码适合编译,源代码包括与变量相关联的定义;b)在源代码中插入第一个复制指令,第一个复制指令是在源代码中与变量相关联的定义之后顺序插入的;c)为第一个复制指令分配第一个堆栈槽;d)将第一个堆栈槽与一个堆栈帧关联,其中,将第一个堆栈槽与该堆栈帧关联包括确定该堆栈帧的大小。 | ||
地址 | 美国加利福尼亚州 |