#| -*-Scheme-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/rtlopt/rcse1.scm,v 4.21 1991/05/06 22:44:07 jinx Exp $
+$Id: rcse1.scm,v 4.22 1993/07/01 03:29:00 gjr Exp $
-Copyright (c) 1988-1991 Massachusetts Institute of Technology
+Copyright (c) 1988-1993 Massachusetts Institute of Technology
This material was developed by the Scheme project at the Massachusetts
Institute of Technology, Department of Electrical Engineering and
(define (cse/assign/register address expression volatile? insert-source!)
(if (interpreter-stack-pointer? address)
(if (and (rtl:offset? expression)
- (interpreter-stack-pointer? (rtl:offset-base expression)))
- (stack-pointer-adjust! (rtl:offset-number expression))
+ (interpreter-stack-pointer? (rtl:offset-base expression))
+ (rtl:machine-constant? (rtl:offset-offset expression)))
+ (stack-pointer-adjust!
+ (rtl:machine-constant-value (rtl:offset-offset expression)))
(begin
(stack-invalidate!)
(stack-pointer-invalidate!)))
(let ((element (insert-source!)))
(adjust!)
(insert-stack-destination!
- (rtl:make-offset (interpreter-stack-pointer) 0)
+ (rtl:make-offset (interpreter-stack-pointer)
+ (rtl:make-machine-constant 0))
element))
(adjust!))))
#| -*-Scheme-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/rtlopt/rcsesr.scm,v 4.2 1989/01/21 09:06:39 cph Rel $
+$Id: rcsesr.scm,v 4.3 1993/07/01 03:29:15 gjr Exp $
-Copyright (c) 1987, 1989 Massachusetts Institute of Technology
+Copyright (c) 1987-1993 Massachusetts Institute of Technology
This material was developed by the Scheme project at the Massachusetts
Institute of Technology, Department of Electrical Engineering and
(interpreter-stack-pointer? (rtl:address-register expression))))
(define (stack-reference-quantity expression)
- (let ((n (+ *stack-offset* (rtl:offset-number expression))))
+ (let ((n (+ *stack-offset*
+ (rtl:machine-constant-value (rtl:offset-offset expression)))))
(let ((entry (ass= n *stack-reference-quantities*)))
(if entry
(cdr entry)
quantity)))))
(define (set-stack-reference-quantity! expression quantity)
- (let ((n (+ *stack-offset* (rtl:offset-number expression))))
+ (let ((n (+ *stack-offset*
+ (rtl:machine-constant-value (rtl:offset-offset expression)))))
(let ((entry (ass= n *stack-reference-quantities*)))
(if entry
(set-cdr! entry quantity)
(define (stack-reference-invalidate! expression)
(expression-invalidate! expression)
(set! *stack-reference-quantities*
- (del-ass=! (+ *stack-offset* (rtl:offset-number expression))
+ (del-ass=! (+ *stack-offset*
+ (rtl:machine-constant-value
+ (rtl:offset-offset expression)))
*stack-reference-quantities*)))
(define ass= (association-procedure = car))