From 1a2e96a4ee785914a98f7d196a79f1be8cfcdfc2 Mon Sep 17 00:00:00 2001 From: Chris Hanson Date: Fri, 8 May 1987 02:48:24 +0000 Subject: [PATCH] Change combination optimizations to eliminate bug caused by deleting unreferenced parameters. Really need to do side effect analysis to perform this optimization. Meanwhile, just deleting integrated parameters should be sufficient. Also flushed use of environment constructing load-system since auxiliary variable compilation is now fixed. --- v7/src/sf/make.scm | 119 ++++++++++++++++++++------------------------- v8/src/sf/make.scm | 119 ++++++++++++++++++++------------------------- 2 files changed, 106 insertions(+), 132 deletions(-) diff --git a/v7/src/sf/make.scm b/v7/src/sf/make.scm index 17562d17a..aae5898b9 100644 --- a/v7/src/sf/make.scm +++ b/v7/src/sf/make.scm @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/sf/make.scm,v 3.5 1987/05/04 23:52:57 cph Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/sf/make.scm,v 3.6 1987/05/08 02:48:24 cph Exp $ Copyright (c) 1987 Massachusetts Institute of Technology @@ -40,77 +40,64 @@ MIT in each case. |# (define sf) (define sf/set-file-syntax-table!) (define sf/add-file-declarations!) -(load "$zcomp/base/load" system-global-environment) - -(load-system system-global-environment - 'PACKAGE/SCODE-OPTIMIZER - '(SYSTEM-GLOBAL-ENVIRONMENT) - '( - (PACKAGE/SCODE-OPTIMIZER - "mvalue" ;Multiple Value Support - "eqsets" ;Set Data Abstraction - - "object" ;Data Structures - "emodel" ;Environment Model - "gconst" ;Global Primitives List - "usicon" ;Usual Integrations: Constants - "tables" ;Table Abstractions - "packag" ;Global packaging - ) - - (PACKAGE/TOP-LEVEL - "toplev" ;Top Level - ) - - (PACKAGE/TRANSFORM - "xform" ;SCode -> Internal - ) - - (PACKAGE/INTEGRATE - "subst" ;Beta Substitution Optimizer - ) - - (PACKAGE/CGEN - "cgen" ;Internal -> SCode - ) - - (PACKAGE/EXPANSION - "usiexp" ;Usual Integrations: Expanders - ) - - (PACKAGE/DECLARATIONS - "pardec" ;Declaration Parser - ) - - (PACKAGE/COPY - "copy" ;Copy Expressions - ) - - (PACKAGE/FREE - "free" ;Free Variable Analysis - ) - - (PACKAGE/SAFE? - "safep" ;Safety Analysis - ) - - (PACKAGE/CHANGE-TYPE - "chtype" ;Type interning - ) - - )) - + +(define package/scode-optimizer + (make-environment + (define package/top-level (make-environment)) + (define package/transform (make-environment)) + (define package/integrate (make-environment)) + (define package/cgen (make-environment)) + (define package/expansion (make-environment)) + (define package/declarations (make-environment)) + (define package/copy (make-environment)) + (define package/free (make-environment)) + (define package/safe? (make-environment)) + (define package/change-type (make-environment)))) + (in-package package/scode-optimizer - (define integrations - "$zcomp/source/object") (define scode-optimizer/system (make-environment (define :name "SF") (define :version 3) - (define :modification 5))) - - (add-system! scode-optimizer/system) + (define :modification 6) + (define :files) + + (define :files-lists + (list + (cons package/scode-optimizer + '("mvalue.bin" ;Multiple Value Support + "eqsets.bin" ;Set Data Abstraction + "object.bin" ;Data Structures + "emodel.bin" ;Environment Model + "gconst.bin" ;Global Primitives List + "usicon.bin" ;Usual Integrations: Constants + "tables.bin" ;Table Abstractions + "packag.bin" ;Global packaging + )) + (cons package/top-level + '("toplev.bin")) ;Top Level + (cons package/transform + '("xform.bin")) ;SCode -> Internal + (cons package/integrate + '("subst.bin")) ;Beta Substitution Optimizer + (cons package/cgen + '("cgen.bin")) ;Internal -> SCode + (cons package/expansion + '("usiexp.bin")) ;Usual Integrations: Expanders + (cons package/declarations + '("pardec.bin")) ;Declaration Parser + (cons package/copy + '("copy.bin")) ;Copy Expressions + (cons package/free + '("free.bin")) ;Free Variable Analysis + (cons package/safe? + '("safep.bin")) ;Safety Analysis + (cons package/change-type + '("chtype.bin")) ;Type interning + )))) + + (load-system! scode-optimizer/system true) (scode-optimizer/initialize!)) diff --git a/v8/src/sf/make.scm b/v8/src/sf/make.scm index 3a2de95ff..a9e71ab6a 100644 --- a/v8/src/sf/make.scm +++ b/v8/src/sf/make.scm @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/sf/make.scm,v 3.5 1987/05/04 23:52:57 cph Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/sf/make.scm,v 3.6 1987/05/08 02:48:24 cph Exp $ Copyright (c) 1987 Massachusetts Institute of Technology @@ -40,77 +40,64 @@ MIT in each case. |# (define sf) (define sf/set-file-syntax-table!) (define sf/add-file-declarations!) -(load "$zcomp/base/load" system-global-environment) - -(load-system system-global-environment - 'PACKAGE/SCODE-OPTIMIZER - '(SYSTEM-GLOBAL-ENVIRONMENT) - '( - (PACKAGE/SCODE-OPTIMIZER - "mvalue" ;Multiple Value Support - "eqsets" ;Set Data Abstraction - - "object" ;Data Structures - "emodel" ;Environment Model - "gconst" ;Global Primitives List - "usicon" ;Usual Integrations: Constants - "tables" ;Table Abstractions - "packag" ;Global packaging - ) - - (PACKAGE/TOP-LEVEL - "toplev" ;Top Level - ) - - (PACKAGE/TRANSFORM - "xform" ;SCode -> Internal - ) - - (PACKAGE/INTEGRATE - "subst" ;Beta Substitution Optimizer - ) - - (PACKAGE/CGEN - "cgen" ;Internal -> SCode - ) - - (PACKAGE/EXPANSION - "usiexp" ;Usual Integrations: Expanders - ) - - (PACKAGE/DECLARATIONS - "pardec" ;Declaration Parser - ) - - (PACKAGE/COPY - "copy" ;Copy Expressions - ) - - (PACKAGE/FREE - "free" ;Free Variable Analysis - ) - - (PACKAGE/SAFE? - "safep" ;Safety Analysis - ) - - (PACKAGE/CHANGE-TYPE - "chtype" ;Type interning - ) - - )) - + +(define package/scode-optimizer + (make-environment + (define package/top-level (make-environment)) + (define package/transform (make-environment)) + (define package/integrate (make-environment)) + (define package/cgen (make-environment)) + (define package/expansion (make-environment)) + (define package/declarations (make-environment)) + (define package/copy (make-environment)) + (define package/free (make-environment)) + (define package/safe? (make-environment)) + (define package/change-type (make-environment)))) + (in-package package/scode-optimizer - (define integrations - "$zcomp/source/object") (define scode-optimizer/system (make-environment (define :name "SF") (define :version 3) - (define :modification 5))) - - (add-system! scode-optimizer/system) + (define :modification 6) + (define :files) + + (define :files-lists + (list + (cons package/scode-optimizer + '("mvalue.bin" ;Multiple Value Support + "eqsets.bin" ;Set Data Abstraction + "object.bin" ;Data Structures + "emodel.bin" ;Environment Model + "gconst.bin" ;Global Primitives List + "usicon.bin" ;Usual Integrations: Constants + "tables.bin" ;Table Abstractions + "packag.bin" ;Global packaging + )) + (cons package/top-level + '("toplev.bin")) ;Top Level + (cons package/transform + '("xform.bin")) ;SCode -> Internal + (cons package/integrate + '("subst.bin")) ;Beta Substitution Optimizer + (cons package/cgen + '("cgen.bin")) ;Internal -> SCode + (cons package/expansion + '("usiexp.bin")) ;Usual Integrations: Expanders + (cons package/declarations + '("pardec.bin")) ;Declaration Parser + (cons package/copy + '("copy.bin")) ;Copy Expressions + (cons package/free + '("free.bin")) ;Free Variable Analysis + (cons package/safe? + '("safep.bin")) ;Safety Analysis + (cons package/change-type + '("chtype.bin")) ;Type interning + )))) + + (load-system! scode-optimizer/system true) (scode-optimizer/initialize!)) -- 2.25.1