From 1240c7533581b9ac81246b796f678d46f9d10a61 Mon Sep 17 00:00:00 2001 From: Chris Hanson Date: Fri, 23 Aug 1991 09:15:03 +0000 Subject: [PATCH] Fix think-o in case for MOVE-FRAME-UP. --- v7/src/compiler/machines/mips/rules3.scm | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/v7/src/compiler/machines/mips/rules3.scm b/v7/src/compiler/machines/mips/rules3.scm index f8d2393da..d61b72d84 100644 --- a/v7/src/compiler/machines/mips/rules3.scm +++ b/v7/src/compiler/machines/mips/rules3.scm @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/mips/rules3.scm,v 1.8 1991/08/21 04:14:25 cph Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/mips/rules3.scm,v 1.9 1991/08/23 09:15:03 cph Exp $ $MC68020-Header: /scheme/compiler/bobcat/RCS/rules3.scm,v 4.30 1991/05/07 13:45:31 jinx Exp $ Copyright (c) 1988-91 Massachusetts Institute of Technology @@ -197,12 +197,14 @@ MIT in each case. |# ;;;; Invocation Prefixes -;;; MOVE-FRAME-UP size address -;;; -;;; Moves up the last words of the stack so that the first of -;;; these words is at location
, and resets the stack pointer -;;; to the last of these words. That is, it pops off all the words -;;; between
and TOS+/-. +;;; (INVOCATION-PREFIX:MOVE-FRAME-UP frame-size address) + +;;; Move the topmost words of the stack downward so that +;;; the bottommost of these words is at location
, and set +;;; the stack pointer to the topmost of the moved words. That is, +;;; discard the words between
and SP+, close the +;;; resulting gap by shifting down the words from above the gap, and +;;; adjust SP to point to the new topmost word. (define-rule statement ;; Move up 0 words back to top of stack : a No-Op @@ -229,7 +231,7 @@ MIT in each case. |# (add-immediate how-far regnum:stack-pointer regnum:stack-pointer)) ((= frame-size 1) (let ((temp (standard-temporary!))) - (LAP (LW ,temp (OFFSET ,how-far ,regnum:stack-pointer)) + (LAP (LW ,temp (OFFSET 0 ,regnum:stack-pointer)) (ADDI ,regnum:stack-pointer ,regnum:stack-pointer ,how-far) (STW ,temp (OFFSET 0 ,regnum:stack-pointer))))) ((= frame-size 2) -- 2.25.1