Removed %vector-index expressions and the indexify phase. The index
authorStephen Adams <edu/mit/csail/zurich/adams>
Sun, 6 Aug 1995 22:26:53 +0000 (22:26 +0000)
committerStephen Adams <edu/mit/csail/zurich/adams>
Sun, 6 Aug 1995 22:26:53 +0000 (22:26 +0000)
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).

v8/src/compiler/midend/cleanup.scm
v8/src/compiler/midend/simplify.scm

index 6485162181cb28a2074aa31ac3159a3b6ec45c73..2dae08ea0f307af2d3a1431424af784315435b81 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Id: cleanup.scm,v 1.22 1995/07/24 17:38:03 adams Exp $
+$Id: cleanup.scm,v 1.23 1995/08/06 22:26:35 adams Exp $
 
 Copyright (c) 1994-1995 Massachusetts Institute of Technology
 
@@ -615,8 +615,8 @@ MIT in each case. |#
        (else
         (internal-error "Unrecognized easy form" form))))
 
-(define cleanup/trivial/ops
-  (list %vector-index))
+(define cleanup/trivial/ops '())
+;  (list %vector-index)
 
 (define cleanup/easy/ops
   (append cleanup/trivial/ops
index 73670d0d52b7d85c166a8fca3b7adf18230aa896..c890221c3f533a8ae3887d49370f04f2c3b7b105 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Id: simplify.scm,v 1.15 1995/07/06 21:27:14 adams Exp $
+$Id: simplify.scm,v 1.16 1995/08/06 22:26:53 adams Exp $
 
 Copyright (c) 1994-1995 Massachusetts Institute of Technology
 
@@ -512,7 +512,7 @@ MIT in each case. |#
   (define (cost operator value)
     (hash-table/put! *simplify/operator-open-coding-costs* operator value))
   (cost not 0)
-  (cost %vector-index -2)
+  ;;(cost %vector-index -2)
   (cost %heap-closure-ref -2)
   (cost %stack-closure-ref -2))