From f6f7f17ec0f09f4bde3f8b5921ccd2b9f0c532f6 Mon Sep 17 00:00:00 2001 From: Chris Hanson Date: Fri, 16 Dec 1988 13:18:45 +0000 Subject: [PATCH] No longer need to use `set-type-object-description!'. --- v7/src/compiler/base/subprb.scm | 16 +----------- v7/src/compiler/rtlopt/rcseht.scm | 41 +++++++++++-------------------- v7/src/compiler/rtlopt/rcserq.scm | 9 +------ 3 files changed, 16 insertions(+), 50 deletions(-) diff --git a/v7/src/compiler/base/subprb.scm b/v7/src/compiler/base/subprb.scm index 55cad4938..583db4532 100644 --- a/v7/src/compiler/base/subprb.scm +++ b/v7/src/compiler/base/subprb.scm @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/base/subprb.scm,v 4.4 1988/12/12 21:51:35 cph Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/base/subprb.scm,v 4.5 1988/12/16 13:13:43 cph Exp $ Copyright (c) 1988 Massachusetts Institute of Technology @@ -64,12 +64,6 @@ known that the continuation need not be used. (simple? 'UNKNOWN) (free-variables 'UNKNOWN)) -(set-type-object-description! - subproblem - (lambda (subproblem) - (descriptor-list subproblem - prefix continuation rvalue simple? free-variables))) - (define-integrable (subproblem-entry-node subproblem) (cfg-entry-node (subproblem-prefix subproblem))) @@ -140,14 +134,6 @@ known that the continuation need not be used. parent type) -(set-type-object-description! - virtual-continuation - (lambda (continuation) - `((VIRTUAL-CONTINUATION/CONTEXT - ,(virtual-continuation/context continuation)) - (VIRTUAL-CONTINUATION/PARENT ,(virtual-continuation/parent continuation)) - (VIRTUAL-CONTINUATION/TYPE ,(virtual-continuation/type continuation))))) - (define-integrable (virtual-continuation/make block type) ;; Used exclusively after FG generation. (virtual-continuation/%make block false type)) diff --git a/v7/src/compiler/rtlopt/rcseht.scm b/v7/src/compiler/rtlopt/rcseht.scm index b0cd5a082..64b99e92e 100644 --- a/v7/src/compiler/rtlopt/rcseht.scm +++ b/v7/src/compiler/rtlopt/rcseht.scm @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/rtlopt/rcseht.scm,v 4.6 1988/08/29 23:19:44 cph Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/rtlopt/rcseht.scm,v 4.7 1988/12/16 13:17:18 cph Rel $ Copyright (c) 1988 Massachusetts Institute of Technology @@ -63,18 +63,6 @@ MIT in each case. |# (previous-value false) (first-value false)) -(set-type-object-description! - element - (lambda (element) - `((ELEMENT-EXPRESSION ,(element-expression element)) - (ELEMENT-COST ,(element-cost element)) - (ELEMENT-IN-MEMORY? ,(element-in-memory? element)) - (ELEMENT-NEXT-HASH ,(element-next-hash element)) - (ELEMENT-PREVIOUS-HASH ,(element-previous-hash element)) - (ELEMENT-NEXT-VALUE ,(element-next-value element)) - (ELEMENT-PREVIOUS-VALUE ,(element-previous-value element)) - (ELEMENT-FIRST-VALUE ,(element-first-value element))))) - (define (hash-table-lookup hash expression) (let loop ((element (hash-table-ref hash))) (and element @@ -119,19 +107,6 @@ MIT in each case. |# (else (loop next (element-next-value next))))))) element)) - -(define (rtl:expression-cost expression) - (case (rtl:expression-type expression) - ((REGISTER) 1) - ((CONSTANT) (rtl:constant-cost (rtl:constant-value expression))) - (else - (let loop ((parts (cdr expression)) (cost 2)) - (if (null? parts) - cost - (loop (cdr parts) - (if (pair? (car parts)) - (+ cost (rtl:expression-cost (car parts))) - cost))))))) (define (hash-table-delete! hash element) (if element @@ -165,7 +140,19 @@ MIT in each case. |# (bucket-loop (element-next-hash element))) (table-loop (1+ i)))))) unspecific) - + +(define (rtl:expression-cost expression) + (case (rtl:expression-type expression) + ((REGISTER) 1) + ((CONSTANT) (rtl:constant-cost (rtl:constant-value expression))) + (else + (let loop ((parts (cdr expression)) (cost 2)) + (if (null? parts) + cost + (loop (cdr parts) + (if (pair? (car parts)) + (+ cost (rtl:expression-cost (car parts))) + cost))))))) (define (hash-table-copy table) ;; During this procedure, the `element-cost' slots of `table' are ;; reused as "broken hearts". diff --git a/v7/src/compiler/rtlopt/rcserq.scm b/v7/src/compiler/rtlopt/rcserq.scm index 931ca310d..cc17b4272 100644 --- a/v7/src/compiler/rtlopt/rcserq.scm +++ b/v7/src/compiler/rtlopt/rcserq.scm @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/rtlopt/rcserq.scm,v 4.3 1988/08/11 20:11:14 cph Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/rtlopt/rcserq.scm,v 4.4 1988/12/16 13:18:45 cph Rel $ Copyright (c) 1988 Massachusetts Institute of Technology @@ -43,13 +43,6 @@ MIT in each case. |# (first-register false) (last-register false)) -(set-type-object-description! - quantity - (lambda (quantity) - `((QUANTITY-NUMBER ,(quantity-number quantity)) - (QUANTITY-FIRST-REGISTER ,(quantity-first-register quantity)) - (QUANTITY-LAST-REGISTER ,(quantity-last-register quantity))))) - (define (get-register-quantity register) (or (register-quantity register) (let ((quantity (new-quantity register))) -- 2.25.1