#| -*-Scheme-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/bobcat/decls.scm,v 1.11 1987/06/17 02:28:29 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/bobcat/decls.scm,v 1.12 1987/06/17 19:42:48 cph Exp $
Copyright (c) 1987 Massachusetts Institute of Technology
(define filenames/dependency-chain/base
(filename/append "base"
"object" "cfg1" "cfg2" "cfg3" "ctypes" "dtype1" "dtype2"
- "dtype3" "bblock" "dfg" "rtltyp" "rtlreg" "rtlcfg" "emodel"
- "rtypes"))
+ "dtype3" "bblock" "dfg" "rtlty1" "rtlty2" "rtlreg" "rtlcfg"
+ "emodel" "rtypes"))
(define filenames/dependency-chain/rcse
(filename/append "front-end" "rcseht" "rcserq" "rcse1" "rcse2"))
(append (filename/append "base"
"bblock" "cfg1" "cfg2" "cfg3" "ctypes" "dfg" "dtype1"
"dtype2" "dtype3" "emodel" "linear" "object" "queue"
- "rtlcfg" "rtlcon" "rtlexp" "rtlreg" "rtltyp" "rtypes"
- "sets" "toplv1" "toplv2" "toplv3" "utils")
+ "rtlcfg" "rtlcon" "rtlexp" "rtlreg" "rtlty1" "rtlty2"
+ "rtypes" "sets" "toplv1" "toplv2" "toplv3" "utils")
(filename/append "alpha" "dflow1" "dflow2" "dflow3" "dflow4" "dflow5"
"dflow6" "fggen1" "fggen2")
(filename/append "front-end"
#| -*-Scheme-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/bobcat/make.scm-68040,v 1.26 1987/06/17 02:29:11 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/bobcat/make.scm-68040,v 1.27 1987/06/17 19:42:27 cph Exp $
Copyright (c) 1987 Massachusetts Institute of Technology
(make-environment
(define :name "Liar (Bobcat 68020)")
(define :version 1)
- (define :modification 26)
+ (define :modification 27)
(define :files)
; (parse-rcs-header
-; "$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/bobcat/make.scm-68040,v 1.26 1987/06/17 02:29:11 cph Exp $"
+; "$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/bobcat/make.scm-68040,v 1.27 1987/06/17 19:42:27 cph Exp $"
; (lambda (filename version date time zone author state)
; (set! :version (car version))
; (set! :modification (cadr version))))
"base/dtype3.bin"
"base/bblock.bin" ;Basic block datatype
"base/dfg.bin" ;data flow graph
- "base/rtltyp.bin" ;RTL: type definitions
+ "base/rtlty1.bin" ;RTL: type definitions
+ "base/rtlty2.bin"
"base/rtlexp.bin" ;RTL: expression operations
"base/rtlcon.bin" ;RTL: complex constructors
"base/rtlreg.bin" ;RTL: registers
#| -*-Scheme-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/rtlbase/rtlty1.scm,v 1.9 1987/06/01 16:03:06 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/rtlbase/rtlty1.scm,v 1.10 1987/06/17 19:43:14 cph Exp $
Copyright (c) 1987 Massachusetts Institute of Technology
(define-rtl-statement message-sender:value rtl: size)
(define-rtl-statement message-receiver:closure rtl: size)
(define-rtl-statement message-receiver:stack rtl: size)
-(define-rtl-statement message-receiver:subproblem % continuation)
-\f
-(define-integrable rtl:expression-type first)
-(define-integrable rtl:address-register second)
-(define-integrable rtl:address-number third)
-(define-integrable rtl:invocation-pushed second)
-(define-integrable rtl:invocation-prefix third)
-(define-integrable rtl:invocation-continuation fourth)
-(define-integrable rtl:test-expression second)
-
-(define-integrable (rtl:make-entry:continuation continuation)
- (%make-entry:continuation (continuation-label continuation)))
-
-(define-integrable (rtl:make-entry:procedure procedure)
- (%make-entry:procedure (procedure-label procedure)))
-
-(define-integrable (rtl:make-continuation-heap-check continuation)
- (%make-continuation-heap-check (continuation-label continuation)))
-
-(define-integrable (rtl:make-procedure-heap-check procedure)
- (%make-procedure-heap-check (procedure-label procedure)))
-
-(define-integrable (rtl:make-setup-lexpr procedure)
- (%make-setup-lexpr (procedure-label procedure)))
-
-(define-integrable (rtl:make-message-receiver:subproblem continuation)
- (%make-message-receiver:subproblem (continuation-label continuation)))
-
-(define (rtl:make-constant value)
- (if (scode/unassigned-object? value)
- (rtl:make-unassigned)
- (%make-constant value)))
-\f
-;;;; Locatives
-
-;;; Locatives are used as an intermediate form by the code generator
-;;; to build expressions. Later, when the expressions are inserted
-;;; into statements, any locatives they contain are eliminated by
-;;; "simplifying" them into sequential instructions using pseudo
-;;; registers.
-
-(define-integrable register:environment
- 'ENVIRONMENT)
-
-(define-integrable register:frame-pointer
- 'FRAME-POINTER)
-
-(define-integrable register:stack-pointer
- 'STACK-POINTER)
-
-(define-integrable register:value
- 'VALUE)
-
-(define-integrable (rtl:interpreter-call-result:access)
- (rtl:make-fetch 'INTERPRETER-CALL-RESULT:ACCESS))
-
-(define-integrable (rtl:interpreter-call-result:cache-reference)
- (rtl:make-fetch 'INTERPRETER-CALL-RESULT:CACHE-REFERENCE))
-
-(define-integrable (rtl:interpreter-call-result:enclose)
- (rtl:make-fetch 'INTERPRETER-CALL-RESULT:ENCLOSE))
-
-(define-integrable (rtl:interpreter-call-result:lookup)
- (rtl:make-fetch 'INTERPRETER-CALL-RESULT:LOOKUP))
-
-(define-integrable (rtl:interpreter-call-result:unassigned?)
- (rtl:make-fetch 'INTERPRETER-CALL-RESULT:UNASSIGNED?))
-
-(define-integrable (rtl:interpreter-call-result:unbound?)
- (rtl:make-fetch 'INTERPRETER-CALL-RESULT:UNBOUND?))
-
-(define (rtl:locative-offset locative offset)
- (cond ((zero? offset) locative)
- ((and (pair? locative) (eq? (car locative) 'OFFSET))
- `(OFFSET ,(cadr locative) ,(+ (caddr locative) offset)))
- (else `(OFFSET ,locative ,offset))))
-\f
-;;; Expressions that are used in the intermediate form.
-
-(define-integrable (rtl:make-fetch locative)
- `(FETCH ,locative))
-
-(define-integrable (rtl:make-address locative)
- `(ADDRESS ,locative))
-
-(define-integrable (rtl:make-cell-cons expression)
- `(CELL-CONS ,expression))
-
-(define-integrable (rtl:make-typed-cons:pair type car cdr)
- `(TYPED-CONS:PAIR ,type ,car ,cdr))
-
-;;; Linearizer Support
-
-(define-integrable (rtl:make-jump-statement label)
- `(JUMP ,label))
-
-(define-integrable (rtl:make-jumpc-statement predicate label)
- `(JUMPC ,predicate ,label))
-
-(define-integrable (rtl:make-label-statement label)
- `(LABEL ,label))
-
-(define-integrable (rtl:negate-predicate expression)
- `(NOT ,expression))
-
-;;; Stack
-
-(define-integrable (stack-locative-offset locative offset)
- (rtl:locative-offset locative (stack->memory-offset offset)))
-
-(define-integrable (stack-push-address)
- (rtl:make-pre-increment (interpreter-stack-pointer)
- (stack->memory-offset -1)))
-
-(define-integrable (stack-pop-address)
- (rtl:make-post-increment (interpreter-stack-pointer)
(define-rtl-statement message-receiver:subproblem % continuation)
\ No newline at end of file