From: Stephen Adams Date: Sun, 6 Aug 1995 19:50:08 +0000 (+0000) Subject: Removed %vector-index expressions and the indexify phase. The index X-Git-Tag: 20090517-FFI~6063 X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=170bf2ad5c26f2593f595895450d575d1c122c04;p=mit-scheme.git Removed %vector-index expressions and the indexify phase. The index computation is now implicit and handled by rtlgen and dbgred. Looking at the structure of some large programs (e.g. symb in nscmutils) revealed that up to 32% of the text of a program was %vector-index expressions. These get copied in every pass after closconv/2. The `elegance' is not worth the performance hit. About 30% of the remaining text is %stack-closure-ref expressions. The overhead could be reduced by introducing another KMP special form (which would also mean that the DBG info would not need to compress the expressions, saving time). --- diff --git a/v8/src/compiler/midend/closconv.scm b/v8/src/compiler/midend/closconv.scm index 7651fcc13..2407841fd 100644 --- a/v8/src/compiler/midend/closconv.scm +++ b/v8/src/compiler/midend/closconv.scm @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Id: closconv.scm,v 1.9 1995/08/04 19:47:20 adams Exp $ +$Id: closconv.scm,v 1.10 1995/08/06 19:50:08 adams Exp $ Copyright (c) 1994-1995 Massachusetts Institute of Technology @@ -557,10 +557,7 @@ MIT in each case. |# `(CALL (QUOTE ,%closure-ref) (QUOTE #F) (LOOKUP ,closure-name) - (CALL (QUOTE ,%vector-index) - (QUOTE #F) - (QUOTE ,closed-over-names) - (QUOTE ,name)) + (QUOTE ,closed-over-names) (QUOTE ,name))) (define (dbg-reference-expression) (dbg/make-closure-ref %closure-ref @@ -678,10 +675,7 @@ MIT in each case. |# (list (closconv/closure/make-set! name - `(CALL (QUOTE ,%vector-index) - (QUOTE #F) - (QUOTE ,captured-names) - (QUOTE ,name*)) + `(QUOTE ,captured-names) name*))))) circular))) closed circ-results circular)))))