#| -*-Scheme-*-
-$Id: switch.scm,v 4.25 1999/01/02 06:06:43 cph Exp $
+$Id: switch.scm,v 4.26 2001/12/20 03:04:02 cph Exp $
-Copyright (c) 1988-1999 Massachusetts Institute of Technology
+Copyright (c) 1988-1999, 2001 Massachusetts Institute of Technology
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
-Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; Compiler Option Switches
;;; package: (compiler)
(declare (usual-integrations))
-\f
+
;;; Binary switches
-(define compiler:enable-integration-declarations? true)
-(define compiler:enable-expansion-declarations? false)
-(define compiler:compile-by-procedures? true)
-(define compiler:noisy? true)
-(define compiler:show-time-reports? false)
-(define compiler:show-procedures? true)
-(define compiler:show-phases? false)
-(define compiler:show-subphases? false)
-(define compiler:preserve-data-structures? false)
-(define compiler:code-compression? true)
-(define compiler:cache-free-variables? true)
-(define compiler:implicit-self-static? true)
-(define compiler:optimize-environments? true)
-(define compiler:analyze-side-effects? true)
-(define compiler:cse? true)
-(define compiler:open-code-primitives? true)
-(define compiler:generate-rtl-files? false)
-(define compiler:generate-lap-files? false)
-(define compiler:intersperse-rtl-in-lap? true)
-(define compiler:generate-range-checks? false)
-(define compiler:generate-type-checks? false)
-(define compiler:generate-stack-checks? true)
-(define compiler:open-code-flonum-checks? false)
-(define compiler:use-multiclosures? true)
-(define compiler:coalescing-constant-warnings? true)
-(define compiler:cross-compiling? false)
+(define compiler:enable-integration-declarations? #t)
+(define compiler:compile-by-procedures? #t)
+(define compiler:noisy? #t)
+(define compiler:show-time-reports? #f)
+(define compiler:show-procedures? #t)
+(define compiler:show-phases? #f)
+(define compiler:show-subphases? #f)
+(define compiler:preserve-data-structures? #f)
+(define compiler:code-compression? #t)
+(define compiler:cache-free-variables? #t)
+(define compiler:implicit-self-static? #t)
+(define compiler:optimize-environments? #t)
+(define compiler:analyze-side-effects? #t)
+(define compiler:cse? #t)
+(define compiler:open-code-primitives? #t)
+(define compiler:generate-rtl-files? #f)
+(define compiler:generate-lap-files? #f)
+(define compiler:intersperse-rtl-in-lap? #t)
+(define compiler:generate-range-checks? #f)
+(define compiler:generate-type-checks? #f)
+(define compiler:generate-stack-checks? #t)
+(define compiler:open-code-flonum-checks? #f)
+(define compiler:use-multiclosures? #t)
+(define compiler:coalescing-constant-warnings? #t)
+(define compiler:cross-compiling? #f)
;; This only works in the C back end, right now
-(define compiler:compress-top-level? false)
-(define compiler:avoid-scode? true)
+(define compiler:compress-top-level? #f)
+(define compiler:avoid-scode? #t)
;; If true, the compiler is allowed to assume that fixnum operations
;; are only applied to inputs for which the operation is closed, i.e.
;; generates a valid fixnum. If false, the compiler will ensure that
;; the result of a fixnum operation is a fixnum, although it may be an
;; incorrect result for screw cases.
-(define compiler:assume-safe-fixnums? true)
+(define compiler:assume-safe-fixnums? #t)
;; The switch COMPILER:OPEN-CODE-FLOATING-POINT-ARITHMETIC? is in machin.scm.
;;; Hook: bind this to a procedure of one argument and it will receive
;;; each phase of the compiler as a thunk. It is expected to call the
;;; thunk after any appropriate processing.
-(define compiler:phase-wrapper
- false)
\ No newline at end of file
+(define compiler:phase-wrapper #f)
\ No newline at end of file
#| -*-Scheme-*-
-$Id: compiler.pkg,v 1.11 2001/12/19 21:39:29 cph Exp $
+$Id: compiler.pkg,v 1.12 2001/12/20 03:04:02 cph Exp $
-Copyright (c) 1992-1999 Massachusetts Institute of Technology
+Copyright (c) 1992-1999, 2001 Massachusetts Institute of Technology
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
-Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; Compiler Packaging
compiler:compile-by-procedures?
compiler:cse?
compiler:default-top-level-declarations
- compiler:enable-expansion-declarations?
compiler:enable-integration-declarations?
compiler:generate-lap-files?
compiler:generate-range-checks?
#| -*-Scheme-*-
-$Id: decls.scm,v 1.5 2001/12/19 21:39:29 cph Exp $
+$Id: decls.scm,v 1.6 2001/12/20 03:04:02 cph Exp $
Copyright (c) 1992-1999, 2001 Massachusetts Institute of Technology
source-filenames))
(initialize/syntax-dependencies!)
(initialize/integration-dependencies!)
- (initialize/expansion-dependencies!)
(source-nodes/rank!))
(define source-file-expression "*.scm")
(lambda (declarations)
(list-transform-negative declarations
integration-declaration?)))
- ((if compiler:enable-expansion-declarations?
- identity-procedure
- (lambda (declarations)
- (list-transform-negative declarations
- expansion-declaration?)))
- (source-node/declarations node)))))))
+ (source-node/declarations node))))))
(define-integrable (modification-time node type)
(file-modification-time
integration-dependencies)))
(define-integrable (integration-declaration? declaration)
- (eq? (car declaration) 'INTEGRATE-EXTERNAL))
-\f
-;;;; Expansion Dependencies
-
-(define (initialize/expansion-dependencies!)
- (let ((file-dependency/expansion/join
- (lambda (filenames expansions)
- (for-each (lambda (filename)
- (let ((node (filename->source-node filename)))
- (set-source-node/declarations!
- node
- (cons (make-expansion-declaration expansions)
- (source-node/declarations node)))))
- filenames))))
- (file-dependency/expansion/join
- (filename/append "machines/C"
- "lapgen"
- "rules1" "rules2" "rules3" "rules4"
- "rulfix" "rulflo" "cout"
- )
- (map (lambda (entry)
- `(,(car entry)
- (PACKAGE/REFERENCE (FIND-PACKAGE '(COMPILER LAP-SYNTAXER))
- ',(cadr entry))))
- '((LAP:SYNTAX-INSTRUCTION LAP:SYNTAX-INSTRUCTION-EXPANDER)
- (INSTRUCTION->INSTRUCTION-SEQUENCE
- INSTRUCTION->INSTRUCTION-SEQUENCE-EXPANDER)
- (SYNTAX-EVALUATION SYNTAX-EVALUATION-EXPANDER)
- (CONS-SYNTAX CONS-SYNTAX-EXPANDER)
- (OPTIMIZE-GROUP-EARLY OPTIMIZE-GROUP-EXPANDER)
- (EA-KEYWORD-EARLY EA-KEYWORD-EXPANDER)
- (EA-MODE-EARLY EA-MODE-EXPANDER)
- (EA-REGISTER-EARLY EA-REGISTER-EXPANDER)
- (EA-EXTENSION-EARLY EA-EXTENSION-EXPANDER)
- (EA-CATEGORIES-EARLY EA-CATEGORIES-EXPANDER))))))
-
-(define-integrable (make-expansion-declaration expansions)
- `(EXPAND-OPERATOR ,@expansions))
-
-(define-integrable (expansion-declaration? declaration)
- (eq? (car declaration) 'EXPAND-OPERATOR))
\ No newline at end of file
+ (eq? (car declaration) 'INTEGRATE-EXTERNAL))
\ No newline at end of file
#| -*-Scheme-*-
-$Id: compiler.pkg,v 1.14 2001/12/19 21:39:29 cph Exp $
+$Id: compiler.pkg,v 1.15 2001/12/20 03:04:02 cph Exp $
Copyright (c) 1992-1999, 2001 Massachusetts Institute of Technology
compiler:compile-by-procedures?
compiler:cse?
compiler:default-top-level-declarations
- compiler:enable-expansion-declarations?
compiler:enable-integration-declarations?
compiler:generate-lap-files?
compiler:generate-range-checks?
"machines/alpha/coerce" ;Coercions: integer -> bit string
"back/asmmac" ;Macros for hairy syntax
"machines/alpha/insmac" ;Macros for hairy syntax
- "machines/alpha/inerly" ;Early binding version
"machines/alpha/instr1" ;Alpha instruction set
"machines/alpha/instr2" ;branch tensioning: branches
"machines/alpha/instr3" ;floating point
#| -*-Scheme-*-
-$Id: compiler.sf,v 1.9 2001/12/19 21:39:29 cph Exp $
+$Id: compiler.sf,v 1.10 2001/12/20 03:04:02 cph Exp $
Copyright (c) 1992-1999, 2001 Massachusetts Institute of Technology
'(COMPILER LAP-SYNTAXER))
(sf-and-load '("base/scode") '(COMPILER))
(sf-and-load '("base/pmerly") '(COMPILER PATTERN-MATCHER/EARLY))
- (sf-and-load '("machines/alpha/inerly" "back/syerly")
- '(COMPILER LAP-SYNTAXER))))
-
-;; Load the assembler instruction database.
-(in-package (->environment '(COMPILER LAP-SYNTAXER))
- (if (and compiler:enable-expansion-declarations?
- (null? early-instructions))
- (fluid-let ((load-noisily? #f)
- (load/suppress-loading-message? #f))
- (fresh-line)
- (newline)
- (write-string "---- Pre-loading instruction sets ----")
- (newline)
- (for-each (lambda (name)
- (load (string-append "machines/alpha/" name ".scm")
- '(COMPILER LAP-SYNTAXER)))
- '("instr1" "instr2" "instr3")))))
+ (sf-and-load '("back/syerly") '(COMPILER LAP-SYNTAXER))))
;; Resyntax any files that need it.
((access syntax-files! (->environment '(COMPILER))))
#| -*-Scheme-*-
-$Id: decls.scm,v 1.7 2001/12/19 21:39:29 cph Exp $
+$Id: decls.scm,v 1.8 2001/12/20 03:04:02 cph Exp $
Copyright (c) 1992-1999, 2001 Massachusetts Institute of Technology
source-filenames))
(initialize/syntax-dependencies!)
(initialize/integration-dependencies!)
- (initialize/expansion-dependencies!)
(source-nodes/rank!))
(define source-file-expression "*.scm")
(lambda (declarations)
(list-transform-negative declarations
integration-declaration?)))
- ((if compiler:enable-expansion-declarations?
- identity-procedure
- (lambda (declarations)
- (list-transform-negative declarations
- expansion-declaration?)))
- (source-node/declarations node)))))))
+ (source-node/declarations node))))))
(define-integrable (modification-time node type)
(file-modification-time
integration-dependencies)))
(define-integrable (integration-declaration? declaration)
- (eq? (car declaration) 'INTEGRATE-EXTERNAL))
-\f
-;;;; Expansion Dependencies
-
-(define (initialize/expansion-dependencies!)
- (let ((file-dependency/expansion/join
- (lambda (filenames expansions)
- (for-each (lambda (filename)
- (let ((node (filename->source-node filename)))
- (set-source-node/declarations!
- node
- (cons (make-expansion-declaration expansions)
- (source-node/declarations node)))))
- filenames))))
- (file-dependency/expansion/join
- (filename/append "machines/alpha"
- "lapgen"
- "rules1" "rules2" "rules3" "rules4"
- "rulfix" "rulflo"
- )
- (map (lambda (entry)
- `(,(car entry)
- (PACKAGE/REFERENCE (FIND-PACKAGE '(COMPILER LAP-SYNTAXER))
- ',(cadr entry))))
- '((LAP:SYNTAX-INSTRUCTION LAP:SYNTAX-INSTRUCTION-EXPANDER)
- (INSTRUCTION->INSTRUCTION-SEQUENCE
- INSTRUCTION->INSTRUCTION-SEQUENCE-EXPANDER)
- (SYNTAX-EVALUATION SYNTAX-EVALUATION-EXPANDER)
- (CONS-SYNTAX CONS-SYNTAX-EXPANDER)
- (OPTIMIZE-GROUP-EARLY OPTIMIZE-GROUP-EXPANDER)
- (EA-KEYWORD-EARLY EA-KEYWORD-EXPANDER)
- (EA-MODE-EARLY EA-MODE-EXPANDER)
- (EA-REGISTER-EARLY EA-REGISTER-EXPANDER)
- (EA-EXTENSION-EARLY EA-EXTENSION-EXPANDER)
- (EA-CATEGORIES-EARLY EA-CATEGORIES-EXPANDER))))))
-
-(define-integrable (make-expansion-declaration expansions)
- `(EXPAND-OPERATOR ,@expansions))
-
-(define-integrable (expansion-declaration? declaration)
- (eq? (car declaration) 'EXPAND-OPERATOR))
\ No newline at end of file
+ (eq? (car declaration) 'INTEGRATE-EXTERNAL))
\ No newline at end of file
#| -*-Scheme-*-
-$Id: compiler.pkg,v 1.51 2001/12/19 21:39:30 cph Exp $
+$Id: compiler.pkg,v 1.52 2001/12/20 03:04:02 cph Exp $
Copyright (c) 1988-1999, 2001 Massachusetts Institute of Technology
compiler:compile-by-procedures?
compiler:cse?
compiler:default-top-level-declarations
- compiler:enable-expansion-declarations?
compiler:enable-integration-declarations?
compiler:generate-lap-files?
compiler:generate-range-checks?
"machines/bobcat/coerce" ;Coercions: integer -> bit string
"back/asmmac" ;Macros for hairy syntax
"machines/bobcat/insmac" ;Macros for hairy syntax
- "machines/bobcat/inerly" ;Early binding version
"machines/bobcat/insutl" ;Utilities for instructions
"machines/bobcat/instr1" ;68000 Effective addressing
"machines/bobcat/instr2" ;68000 Instructions
#| -*-Scheme-*-
-$Id: compiler.sf,v 1.21 2001/12/19 21:39:30 cph Exp $
+$Id: compiler.sf,v 1.22 2001/12/20 03:04:02 cph Exp $
Copyright (c) 1988-1999, 2001 Massachusetts Institute of Technology
'(COMPILER LAP-SYNTAXER))
(sf-and-load '("base/scode") '(COMPILER))
(sf-and-load '("base/pmerly") '(COMPILER PATTERN-MATCHER/EARLY))
- (sf-and-load '("machines/bobcat/inerly" "back/syerly")
- '(COMPILER LAP-SYNTAXER))))
-
-;; Load the assembler instruction database.
-(in-package (->environment '(COMPILER LAP-SYNTAXER))
- (if (and compiler:enable-expansion-declarations?
- (null? early-instructions))
- (fluid-let ((load-noisily? #f)
- (load/suppress-loading-message? #f))
- (fresh-line)
- (newline)
- (write-string "---- Pre-loading instruction sets ----")
- (newline)
- (for-each (lambda (name)
- (load (string-append "machines/bobcat/" name ".scm")
- '(COMPILER LAP-SYNTAXER)))
- '("instr1" "instr2" "instr3" "instr4"
- "flinstr1" "flinstr2")))))
+ (sf-and-load '("back/syerly") '(COMPILER LAP-SYNTAXER))))
;; Resyntax any files that need it.
((access syntax-files! (->environment '(COMPILER))))
#| -*-Scheme-*-
-$Id: decls.scm,v 4.38 2001/12/19 21:39:30 cph Exp $
+$Id: decls.scm,v 4.39 2001/12/20 03:04:02 cph Exp $
Copyright (c) 1988-1999, 2001 Massachusetts Institute of Technology
source-filenames))
(initialize/syntax-dependencies!)
(initialize/integration-dependencies!)
- (initialize/expansion-dependencies!)
(source-nodes/rank!))
(define source-file-expression "*.scm")
(lambda (declarations)
(list-transform-negative declarations
integration-declaration?)))
- ((if compiler:enable-expansion-declarations?
- identity-procedure
- (lambda (declarations)
- (list-transform-negative declarations
- expansion-declaration?)))
- (source-node/declarations node)))))))
+ (source-node/declarations node))))))
(define-integrable (modification-time node type)
(file-modification-time
integration-dependencies)))
(define-integrable (integration-declaration? declaration)
- (eq? (car declaration) 'INTEGRATE-EXTERNAL))
-\f
-;;;; Expansion Dependencies
-
-(define (initialize/expansion-dependencies!)
- (let ((file-dependency/expansion/join
- (lambda (filenames expansions)
- (for-each (lambda (filename)
- (let ((node (filename->source-node filename)))
- (set-source-node/declarations!
- node
- (cons (make-expansion-declaration expansions)
- (source-node/declarations node)))))
- filenames))))
- (file-dependency/expansion/join
- (filename/append "machines/bobcat"
- "lapgen" "rules1" "rules2" "rules3" "rules4")
- (map (lambda (entry)
- `(,(car entry)
- (PACKAGE/REFERENCE (FIND-PACKAGE '(COMPILER LAP-SYNTAXER))
- ',(cadr entry))))
- '((LAP:SYNTAX-INSTRUCTION LAP:SYNTAX-INSTRUCTION-EXPANDER)
- (INSTRUCTION->INSTRUCTION-SEQUENCE
- INSTRUCTION->INSTRUCTION-SEQUENCE-EXPANDER)
- (SYNTAX-EVALUATION SYNTAX-EVALUATION-EXPANDER)
- (CONS-SYNTAX CONS-SYNTAX-EXPANDER)
- (OPTIMIZE-GROUP-EARLY OPTIMIZE-GROUP-EXPANDER)
- (EA-KEYWORD-EARLY EA-KEYWORD-EXPANDER)
- (EA-MODE-EARLY EA-MODE-EXPANDER)
- (EA-REGISTER-EARLY EA-REGISTER-EXPANDER)
- (EA-EXTENSION-EARLY EA-EXTENSION-EXPANDER)
- (EA-CATEGORIES-EARLY EA-CATEGORIES-EXPANDER))))))
-
-(define-integrable (make-expansion-declaration expansions)
- `(EXPAND-OPERATOR ,@expansions))
-
-(define-integrable (expansion-declaration? declaration)
- (eq? (car declaration) 'EXPAND-OPERATOR))
\ No newline at end of file
+ (eq? (car declaration) 'INTEGRATE-EXTERNAL))
\ No newline at end of file
#| -*-Scheme-*-
-$Id: compiler.pkg,v 1.25 2001/12/19 21:39:30 cph Exp $
+$Id: compiler.pkg,v 1.26 2001/12/20 03:04:02 cph Exp $
Copyright (c) 1992-1999, 2001 Massachusetts Institute of Technology
compiler:compile-by-procedures?
compiler:cse?
compiler:default-top-level-declarations
- compiler:enable-expansion-declarations?
compiler:enable-integration-declarations?
compiler:generate-lap-files?
compiler:generate-range-checks?
"machines/i386/coerce" ;Coercions: integer -> bit string
"back/asmmac" ;Macros for hairy syntax
"machines/i386/insmac" ;Macros for hairy syntax
- "machines/i386/inerly" ;Early binding version
"machines/i386/insutl" ;i386 instruction utilities
"machines/i386/instr1" ;i386 instructions
"machines/i386/instr2" ; " "
#| -*-Scheme-*-
-$Id: compiler.sf,v 1.15 2001/12/19 21:39:30 cph Exp $
+$Id: compiler.sf,v 1.16 2001/12/20 03:04:02 cph Exp $
Copyright (c) 1992-2001 Massachusetts Institute of Technology
'(COMPILER LAP-SYNTAXER))
(sf-and-load '("base/scode") '(COMPILER))
(sf-and-load '("base/pmerly") '(COMPILER PATTERN-MATCHER/EARLY))
- (sf-and-load '("machines/i386/inerly" "back/syerly")
- '(COMPILER LAP-SYNTAXER))))
-
-;; Load the assembler instruction database.
-(in-package (->environment '(COMPILER LAP-SYNTAXER))
- (if (and compiler:enable-expansion-declarations?
- (null? early-instructions))
- (fluid-let ((load-noisily? #f)
- (load/suppress-loading-message? #f))
- (fresh-line)
- (newline)
- (write-string "---- Pre-loading instruction sets ----")
- (newline)
- (for-each (lambda (name)
- (load (string-append "machines/i386/" name ".scm")
- '(COMPILER LAP-SYNTAXER)))
- '("insutl" "instr1" "instr2" "instrf")))))
+ (sf-and-load '("back/syerly") '(COMPILER LAP-SYNTAXER))))
;; Resyntax any files that need it.
((access syntax-files! (->environment '(COMPILER))))
#| -*-Scheme-*-
-$Id: decls.scm,v 1.10 2001/12/19 21:39:30 cph Exp $
+$Id: decls.scm,v 1.11 2001/12/20 03:04:02 cph Exp $
-Copyright (c) 1992-2000 Massachusetts Institute of Technology
+Copyright (c) 1992-2001 Massachusetts Institute of Technology
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
-Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
|#
;;;; Compiler File Dependencies
source-filenames))
(initialize/syntax-dependencies!)
(initialize/integration-dependencies!)
- (initialize/expansion-dependencies!)
(source-nodes/rank!))
(define source-file-expression "*.scm")
(lambda (declarations)
(list-transform-negative declarations
integration-declaration?)))
- ((if compiler:enable-expansion-declarations?
- identity-procedure
- (lambda (declarations)
- (list-transform-negative declarations
- expansion-declaration?)))
- (source-node/declarations node)))))))
+ (source-node/declarations node))))))
(define-integrable (modification-time node type)
(file-modification-time
integration-dependencies)))
(define-integrable (integration-declaration? declaration)
- (eq? (car declaration) 'INTEGRATE-EXTERNAL))
-\f
-;;;; Expansion Dependencies
-
-(define (initialize/expansion-dependencies!)
- (let ((file-dependency/expansion/join
- (lambda (filenames expansions)
- (for-each (lambda (filename)
- (let ((node (filename->source-node filename)))
- (set-source-node/declarations!
- node
- (cons (make-expansion-declaration expansions)
- (source-node/declarations node)))))
- filenames))))
- (file-dependency/expansion/join
- (filename/append "machines/i386"
- "lapgen" "rules1" "rules2" "rules3" "rules4"
- "rulfix" "rulflo")
- (map (lambda (entry)
- `(,(car entry)
- (PACKAGE/REFERENCE (FIND-PACKAGE '(COMPILER LAP-SYNTAXER))
- ',(cadr entry))))
- '((LAP:SYNTAX-INSTRUCTION LAP:SYNTAX-INSTRUCTION-EXPANDER)
- (INSTRUCTION->INSTRUCTION-SEQUENCE
- INSTRUCTION->INSTRUCTION-SEQUENCE-EXPANDER)
- (SYNTAX-EVALUATION SYNTAX-EVALUATION-EXPANDER)
- (CONS-SYNTAX CONS-SYNTAX-EXPANDER)
- (OPTIMIZE-GROUP-EARLY OPTIMIZE-GROUP-EXPANDER)
- (EA-KEYWORD-EARLY EA-KEYWORD-EXPANDER)
- (EA-MODE-EARLY EA-MODE-EXPANDER)
- (EA-REGISTER-EARLY EA-REGISTER-EXPANDER)
- (EA-EXTENSION-EARLY EA-EXTENSION-EXPANDER)
- (EA-CATEGORIES-EARLY EA-CATEGORIES-EXPANDER))))))
-
-(define-integrable (make-expansion-declaration expansions)
- `(EXPAND-OPERATOR ,@expansions))
-
-(define-integrable (expansion-declaration? declaration)
- (eq? (car declaration) 'EXPAND-OPERATOR))
\ No newline at end of file
+ (eq? (car declaration) 'INTEGRATE-EXTERNAL))
\ No newline at end of file
#| -*-Scheme-*-
-$Id: compiler.pkg,v 1.21 2001/12/19 21:39:30 cph Exp $
+$Id: compiler.pkg,v 1.22 2001/12/20 03:04:02 cph Exp $
Copyright (c) 1988-1999, 2001 Massachusetts Institute of Technology
compiler:compile-by-procedures?
compiler:cse?
compiler:default-top-level-declarations
- compiler:enable-expansion-declarations?
compiler:enable-integration-declarations?
compiler:generate-lap-files?
compiler:generate-range-checks?
"machines/mips/coerce" ;Coercions: integer -> bit string
"back/asmmac" ;Macros for hairy syntax
"machines/mips/insmac" ;Macros for hairy syntax
- "machines/mips/inerly" ;Early binding version
"machines/mips/instr1" ;MIPS instruction set
"machines/mips/instr2a"; branch tensioning: branches
"machines/mips/instr2b"; branch tensioning: load/store
#| -*-Scheme-*-
-$Id: compiler.sf-big,v 1.11 2001/12/19 21:39:30 cph Exp $
+$Id: compiler.sf-big,v 1.12 2001/12/20 03:04:02 cph Exp $
Copyright (c) 1988-1999, 2001 Massachusetts Institute of Technology
'(COMPILER LAP-SYNTAXER))
(sf-and-load '("base/scode") '(COMPILER))
(sf-and-load '("base/pmerly") '(COMPILER PATTERN-MATCHER/EARLY))
- (sf-and-load '("machines/mips/inerly" "back/syerly")
- '(COMPILER LAP-SYNTAXER))))
-
-;; Load the assembler instruction database.
-(in-package (->environment '(COMPILER LAP-SYNTAXER))
- (if (and compiler:enable-expansion-declarations?
- (null? early-instructions))
- (fluid-let ((load-noisily? #f)
- (load/suppress-loading-message? #f))
- (fresh-line)
- (newline)
- (write-string "---- Pre-loading instruction sets ----")
- (newline)
- (for-each (lambda (name)
- (load (string-append "machines/mips/" name ".scm")
- '(COMPILER LAP-SYNTAXER)))
- '("instr1" "instr2a" "instr2b" "instr3")))))
+ (sf-and-load '("back/syerly") '(COMPILER LAP-SYNTAXER))))
;; Resyntax any files that need it.
((access syntax-files! (->environment '(COMPILER))))
#| -*-Scheme-*-
-$Id: compiler.sf-little,v 1.11 2001/12/19 21:39:30 cph Exp $
+$Id: compiler.sf-little,v 1.12 2001/12/20 03:04:02 cph Exp $
Copyright (c) 1988-1999, 2001 Massachusetts Institute of Technology
'(COMPILER LAP-SYNTAXER))
(sf-and-load '("base/scode") '(COMPILER))
(sf-and-load '("base/pmerly") '(COMPILER PATTERN-MATCHER/EARLY))
- (sf-and-load '("machines/mips/inerly" "back/syerly")
- '(COMPILER LAP-SYNTAXER))))
-
-;; Load the assembler instruction database.
-(in-package (->environment '(COMPILER LAP-SYNTAXER))
- (if (and compiler:enable-expansion-declarations?
- (null? early-instructions))
- (fluid-let ((load-noisily? #f)
- (load/suppress-loading-message? #f))
- (fresh-line)
- (newline)
- (write-string "---- Pre-loading instruction sets ----")
- (newline)
- (for-each (lambda (name)
- (load (string-append "machines/mips/" name ".scm")
- '(COMPILER LAP-SYNTAXER)))
- '("instr1" "instr2a" "instr2b" "instr3")))))
+ (sf-and-load '("back/syerly") '(COMPILER LAP-SYNTAXER))))
;; Resyntax any files that need it.
((access syntax-files! (->environment '(COMPILER))))
#| -*-Scheme-*-
-$Id: decls.scm,v 1.11 2001/12/19 21:39:30 cph Exp $
+$Id: decls.scm,v 1.12 2001/12/20 03:04:02 cph Exp $
Copyright (c) 1988-1999, 2001 Massachusetts Institute of Technology
source-filenames))
(initialize/syntax-dependencies!)
(initialize/integration-dependencies!)
- (initialize/expansion-dependencies!)
(source-nodes/rank!))
(define source-file-expression "*.scm")
(lambda (declarations)
(list-transform-negative declarations
integration-declaration?)))
- ((if compiler:enable-expansion-declarations?
- identity-procedure
- (lambda (declarations)
- (list-transform-negative declarations
- expansion-declaration?)))
- (source-node/declarations node)))))))
+ (source-node/declarations node))))))
(define-integrable (modification-time node type)
(file-modification-time
integration-dependencies)))
(define-integrable (integration-declaration? declaration)
- (eq? (car declaration) 'INTEGRATE-EXTERNAL))
-\f
-;;;; Expansion Dependencies
-
-(define (initialize/expansion-dependencies!)
- (let ((file-dependency/expansion/join
- (lambda (filenames expansions)
- (for-each (lambda (filename)
- (let ((node (filename->source-node filename)))
- (set-source-node/declarations!
- node
- (cons (make-expansion-declaration expansions)
- (source-node/declarations node)))))
- filenames))))
- (file-dependency/expansion/join
- (filename/append "machines/mips"
- "lapgen"
- "rules1" "rules2" "rules3" "rules4"
- "rulfix" "rulflo"
- )
- (map (lambda (entry)
- `(,(car entry)
- (PACKAGE/REFERENCE (FIND-PACKAGE '(COMPILER LAP-SYNTAXER))
- ',(cadr entry))))
- '((LAP:SYNTAX-INSTRUCTION LAP:SYNTAX-INSTRUCTION-EXPANDER)
- (INSTRUCTION->INSTRUCTION-SEQUENCE
- INSTRUCTION->INSTRUCTION-SEQUENCE-EXPANDER)
- (SYNTAX-EVALUATION SYNTAX-EVALUATION-EXPANDER)
- (CONS-SYNTAX CONS-SYNTAX-EXPANDER)
- (OPTIMIZE-GROUP-EARLY OPTIMIZE-GROUP-EXPANDER)
- (EA-KEYWORD-EARLY EA-KEYWORD-EXPANDER)
- (EA-MODE-EARLY EA-MODE-EXPANDER)
- (EA-REGISTER-EARLY EA-REGISTER-EXPANDER)
- (EA-EXTENSION-EARLY EA-EXTENSION-EXPANDER)
- (EA-CATEGORIES-EARLY EA-CATEGORIES-EXPANDER))))))
-
-(define-integrable (make-expansion-declaration expansions)
- `(EXPAND-OPERATOR ,@expansions))
-
-(define-integrable (expansion-declaration? declaration)
- (eq? (car declaration) 'EXPAND-OPERATOR))
\ No newline at end of file
+ (eq? (car declaration) 'INTEGRATE-EXTERNAL))
\ No newline at end of file
#| -*-Scheme-*-
-$Id: decls.scm,v 1.5 2001/12/19 21:39:30 cph Exp $
+$Id: decls.scm,v 1.6 2001/12/20 03:04:02 cph Exp $
Copyright (c) 1988-1999, 2001 Massachusetts Institute of Technology
source-filenames))
(initialize/syntax-dependencies!)
(initialize/integration-dependencies!)
- (initialize/expansion-dependencies!)
(source-nodes/rank!))
(define source-file-expression "*.scm")
(lambda (declarations)
(list-transform-negative declarations
integration-declaration?)))
- ((if compiler:enable-expansion-declarations?
- identity-procedure
- (lambda (declarations)
- (list-transform-negative declarations
- expansion-declaration?)))
- (source-node/declarations node)))))))
+ (source-node/declarations node))))))
(define-integrable (modification-time node type)
(file-modification-time
integration-dependencies)))
(define-integrable (integration-declaration? declaration)
- (eq? (car declaration) 'INTEGRATE-EXTERNAL))
-\f
-;;;; Expansion Dependencies
-
-(define (initialize/expansion-dependencies!)
- (let ((file-dependency/expansion/join
- (lambda (filenames expansions)
- (for-each (lambda (filename)
- (let ((node (filename->source-node filename)))
- (set-source-node/declarations!
- node
- (cons (make-expansion-declaration expansions)
- (source-node/declarations node)))))
- filenames))))
- (file-dependency/expansion/join
- (filename/append "machines/sparc"
- "lapgen" "rules1" "rules2" "rules3" "rules4"
- "rulfix" "rulflo")
- (map (lambda (entry)
- `(,(car entry)
- (PACKAGE/REFERENCE (FIND-PACKAGE '(COMPILER LAP-SYNTAXER))
- ',(cadr entry))))
- '((LAP:SYNTAX-INSTRUCTION LAP:SYNTAX-INSTRUCTION-EXPANDER)
- (INSTRUCTION->INSTRUCTION-SEQUENCE
- INSTRUCTION->INSTRUCTION-SEQUENCE-EXPANDER)
- (SYNTAX-EVALUATION SYNTAX-EVALUATION-EXPANDER)
- (CONS-SYNTAX CONS-SYNTAX-EXPANDER)
- (OPTIMIZE-GROUP-EARLY OPTIMIZE-GROUP-EXPANDER)
- (EA-KEYWORD-EARLY EA-KEYWORD-EXPANDER)
- (EA-MODE-EARLY EA-MODE-EXPANDER)
- (EA-REGISTER-EARLY EA-REGISTER-EXPANDER)
- (EA-EXTENSION-EARLY EA-EXTENSION-EXPANDER)
- (EA-CATEGORIES-EARLY EA-CATEGORIES-EXPANDER))))))
-
-(define-integrable (make-expansion-declaration expansions)
- `(EXPAND-OPERATOR ,@expansions))
-
-(define-integrable (expansion-declaration? declaration)
- (eq? (car declaration) 'EXPAND-OPERATOR))
\ No newline at end of file
+ (eq? (car declaration) 'INTEGRATE-EXTERNAL))
\ No newline at end of file
#| -*-Scheme-*-
-$Id: compiler.pkg,v 1.51 2001/12/19 21:39:30 cph Exp $
+$Id: compiler.pkg,v 1.52 2001/12/20 03:04:02 cph Exp $
Copyright (c) 1988-1999, 2001 Massachusetts Institute of Technology
compiler:compile-by-procedures?
compiler:cse?
compiler:default-top-level-declarations
- compiler:enable-expansion-declarations?
compiler:enable-integration-declarations?
compiler:generate-lap-files?
compiler:generate-range-checks?
"machines/spectrum/coerce" ;Coercions: integer -> bit string
"back/asmmac" ;Macros for hairy syntax
"machines/spectrum/insmac" ;Macros for hairy syntax
- "machines/spectrum/inerly" ;Early binding version
"machines/spectrum/instr1" ;Spectrum instruction utilities
"machines/spectrum/instr2" ;Spectrum instructions
"machines/spectrum/instr3" ; " "
#| -*-Scheme-*-
-$Id: compiler.sf,v 1.21 2001/12/19 21:39:30 cph Exp $
+$Id: compiler.sf,v 1.22 2001/12/20 03:04:02 cph Exp $
Copyright (c) 1988-1999, 2001 Massachusetts Institute of Technology
'(COMPILER LAP-SYNTAXER))
(sf-and-load '("base/scode") '(COMPILER))
(sf-and-load '("base/pmerly") '(COMPILER PATTERN-MATCHER/EARLY))
- (sf-and-load '("machines/spectrum/inerly" "back/syerly")
- '(COMPILER LAP-SYNTAXER))))
-
-;; Load the assembler instruction database.
-(in-package (->environment '(COMPILER LAP-SYNTAXER))
- (if (and compiler:enable-expansion-declarations?
- (null? early-instructions))
- (fluid-let ((load-noisily? #f)
- (load/suppress-loading-message? #f))
- (fresh-line)
- (newline)
- (write-string "---- Pre-loading instruction sets ----")
- (newline)
- (for-each (lambda (name)
- (load (string-append "machines/spectrum/" name ".scm")
- '(COMPILER LAP-SYNTAXER)))
- '("instr1" "instr2" "instr3")))))
+ (sf-and-load '("back/syerly") '(COMPILER LAP-SYNTAXER))))
;; Resyntax any files that need it.
((access syntax-files! (->environment '(COMPILER))))
#| -*-Scheme-*-
-$Id: decls.scm,v 4.36 2001/12/19 21:39:30 cph Exp $
+$Id: decls.scm,v 4.37 2001/12/20 03:04:02 cph Exp $
Copyright (c) 1988-1999, 2001 Massachusetts Institute of Technology
source-filenames))
(initialize/syntax-dependencies!)
(initialize/integration-dependencies!)
- (initialize/expansion-dependencies!)
(source-nodes/rank!))
(define source-file-expression "*.scm")
(lambda (declarations)
(list-transform-negative declarations
integration-declaration?)))
- ((if compiler:enable-expansion-declarations?
- identity-procedure
- (lambda (declarations)
- (list-transform-negative declarations
- expansion-declaration?)))
- (source-node/declarations node)))))))
+ (source-node/declarations node))))))
(define-integrable (modification-time node type)
(file-modification-time
integration-dependencies)))
(define-integrable (integration-declaration? declaration)
- (eq? (car declaration) 'INTEGRATE-EXTERNAL))
-\f
-;;;; Expansion Dependencies
-
-(define (initialize/expansion-dependencies!)
- (let ((file-dependency/expansion/join
- (lambda (filenames expansions)
- (for-each (lambda (filename)
- (let ((node (filename->source-node filename)))
- (set-source-node/declarations!
- node
- (cons (make-expansion-declaration expansions)
- (source-node/declarations node)))))
- filenames))))
- (file-dependency/expansion/join
- (filename/append "machines/spectrum"
- "lapgen" "rules1" "rules2" "rules3" "rules4"
- "rulfix" "rulflo")
- (map (lambda (entry)
- `(,(car entry)
- (PACKAGE/REFERENCE (FIND-PACKAGE '(COMPILER LAP-SYNTAXER))
- ',(cadr entry))))
- '((LAP:SYNTAX-INSTRUCTION LAP:SYNTAX-INSTRUCTION-EXPANDER)
- (INSTRUCTION->INSTRUCTION-SEQUENCE
- INSTRUCTION->INSTRUCTION-SEQUENCE-EXPANDER)
- (SYNTAX-EVALUATION SYNTAX-EVALUATION-EXPANDER)
- (CONS-SYNTAX CONS-SYNTAX-EXPANDER)
- (OPTIMIZE-GROUP-EARLY OPTIMIZE-GROUP-EXPANDER)
- (EA-KEYWORD-EARLY EA-KEYWORD-EXPANDER)
- (EA-MODE-EARLY EA-MODE-EXPANDER)
- (EA-REGISTER-EARLY EA-REGISTER-EXPANDER)
- (EA-EXTENSION-EARLY EA-EXTENSION-EXPANDER)
- (EA-CATEGORIES-EARLY EA-CATEGORIES-EXPANDER))))))
-
-(define-integrable (make-expansion-declaration expansions)
- `(EXPAND-OPERATOR ,@expansions))
-
-(define-integrable (expansion-declaration? declaration)
- (eq? (car declaration) 'EXPAND-OPERATOR))
\ No newline at end of file
+ (eq? (car declaration) 'INTEGRATE-EXTERNAL))
\ No newline at end of file
#| -*-Scheme-*-
-$Id: compiler.pkg,v 1.23 2001/12/19 21:39:30 cph Exp $
+$Id: compiler.pkg,v 1.24 2001/12/20 03:04:02 cph Exp $
Copyright (c) 1988-1999, 2001 Massachusetts Institute of Technology
compiler:compile-by-procedures?
compiler:cse?
compiler:default-top-level-declarations
- compiler:enable-expansion-declarations?
compiler:enable-integration-declarations?
compiler:generate-lap-files?
compiler:generate-range-checks?
"machines/vax/coerce" ;Coercions: integer -> bit string
"back/asmmac" ;Macros for hairy syntax
"machines/vax/insmac" ;Macros for hairy syntax
- "machines/vax/inerly" ;Early binding version
"machines/vax/insutl" ;Utilities for instructions
"machines/vax/instr1" ;Vax Instructions
"machines/vax/instr2" ; " "
#| -*-Scheme-*-
-$Id: compiler.sf,v 1.12 2001/12/19 21:39:30 cph Exp $
+$Id: compiler.sf,v 1.13 2001/12/20 03:04:02 cph Exp $
Copyright (c) 1988-1999, 2001 Massachusetts Institute of Technology
'(COMPILER LAP-SYNTAXER))
(sf-and-load '("base/scode") '(COMPILER))
(sf-and-load '("base/pmerly") '(COMPILER PATTERN-MATCHER/EARLY))
- (sf-and-load '("machines/vax/inerly" "back/syerly")
- '(COMPILER LAP-SYNTAXER))
- (sf-and-load '("machines/vax/dsyn")
- '(COMPILER DISASSEMBLER MACROS))
+ (sf-and-load '("back/syerly") '(COMPILER LAP-SYNTAXER))
+ (sf-and-load '("machines/vax/dsyn") '(COMPILER DISASSEMBLER MACROS))
((access initialize-package!
(->environment '(COMPILER DISASSEMBLER MACROS))))))
-;; Load the assembler instruction database.
-(in-package (->environment '(COMPILER LAP-SYNTAXER))
- (if (and compiler:enable-expansion-declarations?
- (null? early-instructions))
- (fluid-let ((load-noisily? #f)
- (load/suppress-loading-message? #f))
- (fresh-line)
- (newline)
- (write-string "---- Pre-loading instruction sets ----")
- (newline)
- (for-each (lambda (name)
- (load (string-append "machines/vax/" name ".scm")
- '(COMPILER LAP-SYNTAXER)))
- '("insutl" "instr1" "instr2" "instr3")))))
-
;; Resyntax any files that need it.
((access syntax-files! (->environment '(COMPILER))))
#| -*-Scheme-*-
-$Id: decls.scm,v 4.14 2001/12/19 21:39:30 cph Exp $
+$Id: decls.scm,v 4.15 2001/12/20 03:04:02 cph Exp $
Copyright (c) 1987-1999, 2001 Massachusetts Institute of Technology
source-filenames))
(initialize/syntax-dependencies!)
(initialize/integration-dependencies!)
- (initialize/expansion-dependencies!)
(source-nodes/rank!))
(define source-file-expression "*.scm")
(lambda (declarations)
(list-transform-negative declarations
integration-declaration?)))
- ((if compiler:enable-expansion-declarations?
- identity-procedure
- (lambda (declarations)
- (list-transform-negative declarations
- expansion-declaration?)))
- (source-node/declarations node)))))))
+ (source-node/declarations node))))))
(define-integrable (modification-time node type)
(file-modification-time
integration-dependencies)))
(define-integrable (integration-declaration? declaration)
- (eq? (car declaration) 'INTEGRATE-EXTERNAL))
-\f
-;;;; Expansion Dependencies
-
-(define (initialize/expansion-dependencies!)
- (let ((file-dependency/expansion/join
- (lambda (filenames expansions)
- (for-each (lambda (filename)
- (let ((node (filename->source-node filename)))
- (set-source-node/declarations!
- node
- (cons (make-expansion-declaration expansions)
- (source-node/declarations node)))))
- filenames))))
- (file-dependency/expansion/join
- (filename/append "machines/vax"
- "lapgen" "rules1" "rules2" "rules3" "rules4" "rulfix")
- (map (lambda (entry)
- `(,(car entry)
- (PACKAGE/REFERENCE (FIND-PACKAGE '(COMPILER LAP-SYNTAXER))
- ',(cadr entry))))
- '((LAP:SYNTAX-INSTRUCTION LAP:SYNTAX-INSTRUCTION-EXPANDER)
- (INSTRUCTION->INSTRUCTION-SEQUENCE
- INSTRUCTION->INSTRUCTION-SEQUENCE-EXPANDER)
- (SYNTAX-EVALUATION SYNTAX-EVALUATION-EXPANDER)
- (CONS-SYNTAX CONS-SYNTAX-EXPANDER)
- (OPTIMIZE-GROUP-EARLY OPTIMIZE-GROUP-EXPANDER)
- ;; (COERCE-TO-TYPE-EARLY COERCE-TO-TYPE-EXPANDER) ; not used now
- (EA-VALUE-EARLY EA-VALUE-EXPANDER))))))
-
-(define-integrable (make-expansion-declaration expansions)
- `(EXPAND-OPERATOR ,@expansions))
-
-(define-integrable (expansion-declaration? declaration)
- (eq? (car declaration) 'EXPAND-OPERATOR))
\ No newline at end of file
+ (eq? (car declaration) 'INTEGRATE-EXTERNAL))
\ No newline at end of file