2dc99ea05f 
								
							
								 
							
						 
						
							
							
								
								Fix interval inference of abs, absq when input is a complex number  
							
							
							
						 
						
							2009-08-19 16:06:37 -05:00  
				
					
						
							
							
								 
						
							
							
								829107902e 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: improved interval inference for absq eliminates a conditional from math.vectors:distance. Type inference for rational math also a bit sharper now  
							
							
							
						 
						
							2009-08-19 02:33:41 -05:00  
				
					
						
							
							
								 
						
							
							
								3f3d57032b 
								
							
								 
							
						 
						
							
							
								
								Delete empty unit tests files, remove 1- and 1+, reorder IN: lines in a lot of places, minor refactoring  
							
							
							
						 
						
							2009-08-13 19:21:44 -05:00  
				
					
						
							
							
								 
						
							
							
								7e35723db0 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: be more careful with intervals, ensuring that the inferred interval of a value is a subset of the value class's interval. This improves accuracy, for example [ >fixnum 1 + >fixnum most-positive-fixnum <= ] constant-folds to true  
							
							
							
						 
						
							2009-08-10 01:16:49 -05:00  
				
					
						
							
							
								 
						
							
							
								e400d80d8b 
								
							
								 
							
						 
						
							
							
								
								More accurate interval inference for mod, rem, and propagation can now infer intervals in the case where a value might be f. so, [ [ 127 bitand ] [ drop f ] if dup [ 0 >= ] [ not ] if ] now constant-folds down to 't'!  
							
							
							
						 
						
							2009-08-08 23:03:45 -05:00  
				
					
						
							
							
								 
						
							
							
								ee3e84a1f8 
								
							
								 
							
						 
						
							
							
								
								define-partial-eval framework in propagation pass makes it easy to add transforms; moving some transforms from stack checker to propagation, making them stronger  
							
							
							
						 
						
							2009-07-16 00:34:50 -05:00  
				
					
						
							
							
								 
						
							
							
								bb06facb01 
								
							
								 
							
						 
						
							
							
								
								new is inlined in the propagation pass when the class is known  
							
							
							
						 
						
							2009-07-14 14:16:39 -05:00  
				
					
						
							
							
								 
						
							
							
								47500fad06 
								
							
								 
							
						 
						
							
							
								
								call( and execute( inline known quotations/words in the propagation pass  
							
							
							
						 
						
							2009-07-14 01:12:45 -05:00  
				
					
						
							
							
								 
						
							
							
								466533d509 
								
							
								 
							
						 
						
							
							
								
								Fix overly-eager strength reduction for mod, and add a type function for >integer (reported by Joe Groff)  
							
							
							
						 
						
							2009-05-07 12:32:06 -05:00  
				
					
						
							
							
								 
						
							
							
								469c9ee21d 
								
							
								 
							
						 
						
							
							
								
								Debugging stack checking  
							
							
							
						 
						
							2009-04-21 16:09:53 -05:00  
				
					
						
							
							
								 
						
							
							
								932d44cab8 
								
							
								 
							
						 
						
							
							
								
								Small speedup for code using H{ } clone and with-scope  
							
							
							
						 
						
							2009-03-31 08:16:04 -05:00  
				
					
						
							
							
								 
						
							
							
								bda8b2dda6 
								
							
								 
							
						 
						
							
							
								
								Better inlining for both-fixnums?  
							
							
							
						 
						
							2009-02-26 14:11:26 -06:00  
				
					
						
							
							
								 
						
							
							
								6b25e99470 
								
							
								 
							
						 
						
							
							
								
								Add summary for heaps more vocabs  
							
							
							
						 
						
							2009-02-16 21:05:13 -06:00  
				
					
						
							
							
								 
						
							
							
								60a1378a0a 
								
							
								 
							
						 
						
							
							
								
								Faster dynamic variable lookup: 6% speedup in benchmark.fib5  
							
							... 
							
							
							
							- If type of first input of equal? is known but not second, rewrite it as swap equal? and try to inline again
- Fix hints on methods to work better
- Put hints for word and fixnum keys on at* and set-at on hashtables 
							
						 
						
							2008-12-17 14:57:24 -06:00  
				
					
						
							
							
								 
						
							
							
								e4f8448eb1 
								
							
								 
							
						 
						
							
							
								
								Fix some problems with arithmetic type inference, exposed by recent changes to log2 word  
							
							... 
							
							
							
							- declared input type for bignum-shift was stricter than the runtime behavior, leading to bad propagation of type info if shift count was a bignum
- types inferred for type functions which used number-valued/integer-valued/real-valued were not always precise, eg bignum bignum bitxor => integer
- add interval-log2, type function for (log2)
- remove math-class-min, it was useless 
							
						 
						
							2008-12-07 19:44:49 -06:00  
				
					
						
							
							
								 
						
							
							
								a56d480aa6 
								
							
								 
							
						 
						
							
							
								
								Various optimizations leading to a 10% speedup on compiling empty EBNF parser:  
							
							... 
							
							
							
							- open-code getenv primitive
- inline tuple predicates in finalization
- faster partial dispatch
- faster built-in type predicates
- faster tuple predicates
- faster lo-tag dispatch
- compile V{ } clone and H{ } clone more efficiently
- add fixnum fast-path to =; avoid indirect branch if two fixnums not eq
- faster >alist on hashtables 
							
						 
						
							2008-12-06 09:16:29 -06:00  
				
					
						
							
							
								 
						
							
							
								044e2867d5 
								
							
								 
							
						 
						
							
							
								
								Teach compiler about string-nth range  
							
							
							
						 
						
							2008-12-05 23:51:58 -06:00  
				
					
						
							
							
								 
						
							
							
								aa838dbc2d 
								
							
								 
							
						 
						
							
							
								
								Fix compile errors  
							
							
							
						 
						
							2008-12-05 09:04:16 -06:00  
				
					
						
							
							
								 
						
							
							
								86d45262dc 
								
							
								 
							
						 
						
							
							
								
								Add toutput ype propagation for #alien-invoke and #alien-indirect nodes  
							
							
							
						 
						
							2008-11-29 03:47:38 -06:00  
				
					
						
							
							
								 
						
							
							
								79bffecc2e 
								
							
								 
							
						 
						
							
							
								
								Add type function for /mod  
							
							
							
						 
						
							2008-11-21 01:54:56 -06:00  
				
					
						
							
							
								 
						
							
							
								cc879fa9b7 
								
							
								 
							
						 
						
							
							
								
								Tuple layouts are now arrays, instead of built-in types. The superclass  
							
							... 
							
							
							
							array is now part of the tuple layout object itself, and class hashcodes
are stored alongside class words there. This removes 2 indirections when
reading a superclass, and 3 when reading a superclass hashcode. 
							
						 
						
							2008-11-05 22:20:29 -06:00  
				
					
						
							
							
								 
						
							
							
								0cc0a41e57 
								
							
								 
							
						 
						
							
							
								
								Update for compiler.intrinsics removal  
							
							
							
						 
						
							2008-10-20 20:40:36 -05:00  
				
					
						
							
							
								 
						
							
							
								f092622fac 
								
							
								 
							
						 
						
							
							
								
								CFG IR is now pure SSA  
							
							
							
						 
						
							2008-10-20 01:56:28 -05:00  
				
					
						
							
							
								 
						
							
							
								10c68ebb21 
								
							
								 
							
						 
						
							
							
								
								New modular arithmetic optimization pass  
							
							
							
						 
						
							2008-09-12 18:08:38 -05:00  
				
					
						
							
							
								 
						
							
							
								cf80dd122a 
								
							
								 
							
						 
						
							
							
								
								Updating code for make and fry changes  
							
							
							
						 
						
							2008-09-10 22:11:40 -05:00  
				
					
						
							
							
								 
						
							
							
								a4a00f6e40 
								
							
								 
							
						 
						
							
							
								
								Adding missing optimizations to finalization pass  
							
							
							
						 
						
							2008-09-02 22:59:49 -05:00  
				
					
						
							
							
								 
						
							
							
								110a5e5162 
								
							
								 
							
						 
						
							
							
								
								Change equality semantics  
							
							
							
						 
						
							2008-09-02 02:02:05 -05:00  
				
					
						
							
							
								 
						
							
							
								29e5ed2adb 
								
							
								 
							
						 
						
							
							
								
								Fixing deploy tool  
							
							
							
						 
						
							2008-08-31 19:17:04 -05:00  
				
					
						
							
							
								 
						
							
							
								f5fbd94a4c 
								
							
								 
							
						 
						
							
							
								
								New compiled crossref implementation  
							
							
							
						 
						
							2008-08-31 01:34:00 -05:00  
				
					
						
							
							
								 
						
							
							
								8b855b2445 
								
							
								 
							
						 
						
							
							
								
								Help lint fixes  
							
							
							
						 
						
							2008-08-22 23:00:35 -05:00  
				
					
						
							
							
								 
						
							
							
								10b75276ff 
								
							
								 
							
						 
						
							
							
								
								Fix optimization of clone, (clone)  
							
							
							
						 
						
							2008-08-15 02:49:52 -05:00  
				
					
						
							
							
								 
						
							
							
								e1987d4af9 
								
							
								 
							
						 
						
							
							
								
								Debugging new optimizer  
							
							
							
						 
						
							2008-08-14 23:35:19 -05:00  
				
					
						
							
							
								 
						
							
							
								f2a5a30c6f 
								
							
								 
							
						 
						
							
							
								
								New front-end and high-level optimizer lands  
							
							
							
						 
						
							2008-08-12 03:22:45 -05:00