references.
- Turn uuo links on by default.
- Partly implement the CONSTANT declaration.
- Add some more declaration language (ALL and NONE).
- Make the variable set be computed at the right point during graph
construction.
#| -*-Scheme-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/bobcat/dassm2.scm,v 1.1 1987/08/07 17:12:40 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/bobcat/dassm2.scm,v 1.2 1987/10/05 20:24:22 jinx Exp $
Copyright (c) 1987 Massachusetts Institute of Technology
(make-losing-instruction 'W))))))))
(define (undefined-instruction)
- ;; This losing assignment removes a 'call/cc'. Too bad.
+ ;; This losing assignment removes a 'cwcc'. Too bad.
(set! *valid? false)
'())
#x0228
'(uuo-link uuo-link-trap cache-reference-apply
safe-reference-trap unassigned?-trap
- cache-variable-multiple uuo-link-multiple))))
+ cache-variable-multiple uuo-link-multiple
+ &+ &- &* &/ &= &< &> 1+ -1+ zero? positive? negative?
+ cache-assignment cache-assignment-multiple operator-trap))))
(make-table)))
\f
(define-integrable (lookup-special-register reg table)
#| -*-Scheme-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/bobcat/lapgen.scm,v 1.189 1987/09/03 05:14:16 jinx Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/bobcat/lapgen.scm,v 1.190 1987/10/05 20:25:28 jinx Exp $
Copyright (c) 1987 Massachusetts Institute of Technology
(define (address-register? register)
(and (< register 16)
(>= register 8)))
-
(define-integrable (lap:ea-keyword expression)
(car expression))
assignment-trap)
(define-entries #x0228 uuo-link uuo-link-trap cache-reference-apply
safe-reference-trap unassigned?-trap cache-variable-multiple
- uuo-link-multiple &+ &- &* &/ &= &< &> 1+ -1+ zero? positive? negative?))
+ uuo-link-multiple &+ &- &* &/ &= &< &> 1+ -1+ zero? positive? negative?
+ cache-assignment cache-assignment-multiple operator-trap))
(define-integrable reg:compiled-memtop (INST-EA (@A 6)))
(define-integrable reg:environment (INST-EA (@AO 6 #x000C)))
#| -*-Scheme-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/rtlbase/rtlty1.scm,v 1.13 1987/09/03 05:15:29 jinx Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/rtlbase/rtlty1.scm,v 1.14 1987/10/05 20:22:15 jinx Exp $
Copyright (c) 1987 Massachusetts Institute of Technology
(define-rtl-expression cons-pointer rtl: type datum)
(define-rtl-expression constant % value)
(define-rtl-expression variable-cache rtl: name)
+(define-rtl-expression assignment-cache rtl: name)
(define-rtl-expression entry:continuation % continuation)
(define-rtl-expression entry:procedure % procedure)
(define-rtl-expression offset-address rtl: register number)
#| -*-Scheme-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/rtlgen/rgstmt.scm,v 1.8 1987/06/23 02:15:57 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/rtlgen/rgstmt.scm,v 1.9 1987/10/05 20:21:05 jinx Exp $
Copyright (c) 1987 Massachusetts Institute of Technology
(let ((temp (make-temporary)))
(let ((cell (rtl:make-fetch temp)))
(let ((contents (rtl:make-fetch cell)))
- (let ((n1 (rtl:make-assignment temp (rtl:make-variable-cache name)))
+ (let ((n1 (rtl:make-assignment temp (rtl:make-assignment-cache name)))
(n2 (rtl:make-type-test (rtl:make-object->type contents)
(ucode-type reference-trap)))
(n3 (rtl:make-unassigned-test contents))
#| -*-Scheme-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/rtlopt/ralloc.scm,v 1.12 1987/08/07 17:06:53 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/rtlopt/ralloc.scm,v 1.13 1987/10/05 20:21:30 jinx Exp $
Copyright (c) 1987 Massachusetts Institute of Technology
(fluid-let ((*current-rgraph* rgraph))
(walk-bblocks n-registers
(let ((bblocks (rgraph-bblocks rgraph)))
- (set-rgraph-bblocks! rgraph false))))))
+ (set-rgraph-bblocks! rgraph false)
+ bblocks)))))
(define (walk-bblocks n-registers bblocks)
;; First, renumber all the registers remaining to be allocated.