Factor/To do/Compiler
            
	
	
	
	
		 high level optimizer 
-  don't inline push, unless we have a non-vector, pointless
-  dispatch branch alignment off
-  remove support for 'f' from intervals
-  add identities for integer math
-  partial dispatch ops should be flushable, and should have input-classes decls
-  speed up binary-reduce
-  compile range iteration better
-  strength reduction
-  inlining heuristic:
  - number of usages within this word
-  fix predicate propagation
-  [ 1 2 <cursor> ] [ f ] if dup [ A ] [ B ] if ==> we need better constraints so that A has slots
-  loop inversion
-  perhaps interval inference is unsound for fixnum+fast etc?
-  branch fusion
-  strength reduction should deal with 0 [ + ] reduce >fixnum
-  growable resize computation may overflow with 3  but not 2  1+
if we change =, we can do this,
[ dup 0.0 eq? [ dup 0 eq? [ ] [ ] if ] [ ] if ] should not optimize
[ dup 0.0 eq? [ dup 0 = [ ] [ ] if ] [ ] if ] should
[ dup 0.0 = [ dup 0 eq? [ ] [ ] if ] [ ] if ] should not optimize
[ dup 0.0 = [ dup 0 = [ ] [ ] if ] [ ] if ] should
[ dup 0.0 = [ 3 * ] when ] should
[ dup 0.0 number= [ 3 * ] when ] should
-  [ <=> ] sort [ <=> ] sort [ <=> ] sort-- still doesn't scale linearly
-  peg.javascript.parser take long time to load
-  remove-mixin-instance takes a long time
-  fixnum/i --> fixnum/i-fast if denominator is positive!
-  fold 'class'
-  remove pool-db-test file...
 low level optimizer 
-  figure out what to do with intrinsics
-  populate fresh-objects
-  remove the need for outputs-clash?
-  register allocation
-  what do we do with intrinsics?
-  what to do with if>boolean-intrinsic?
-  need an optimizer pass to get rid of jumps to returns and jumps to jumps
 
	
		This revision created on Tue, 9 Sep 2008 03:16:36 by slava