3c408342ef 
								
							
								 
							
						 
						
							
							
								
								renaming: contain? -> any?, deep-contains? -> deep-any?, pad-left -> pad-head, pad-right -> pad-tail, trim-left -> trim-head, trim-right -> trim-tail  
							
							
							
						 
						
							2009-01-29 22:19:07 -06:00  
				
					
						
							
							
								 
						
							
							
								990513db60 
								
							
								 
							
						 
						
							
							
								
								use CONSTANT: in basis  
							
							
							
						 
						
							2009-02-22 19:13:08 -06:00  
				
					
						
							
							
								 
						
							
							
								bf5ff11720 
								
							
								 
							
						 
						
							
							
								
								Update usages of all-equal? now that its in the grouping vocab  
							
							
							
						 
						
							2009-01-16 15:14:30 -06:00  
				
					
						
							
							
								 
						
							
							
								e661c67189 
								
							
								 
							
						 
						
							
							
								
								refactor a word to use smart combinators  
							
							
							
						 
						
							2009-01-08 23:09:38 -06:00  
				
					
						
							
							
								 
						
							
							
								34792a9f23 
								
							
								 
							
						 
						
							
							
								
								Remove >r/r>  
							
							
							
						 
						
							2008-12-17 19:17:37 -06:00  
				
					
						
							
							
								 
						
							
							
								c5160d76e9 
								
							
								 
							
						 
						
							
							
								
								Merge qualified, alias, symbols, constants into core  
							
							
							
						 
						
							2008-12-17 18:10:01 -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  
				
					
						
							
							
								 
						
							
							
								ec23584f48 
								
							
								 
							
						 
						
							
							
								
								Finish up O(1) byte array allocation  
							
							
							
						 
						
							2008-12-09 18:17:04 -06:00  
				
					
						
							
							
								 
						
							
							
								a90118da5d 
								
							
								 
							
						 
						
							
							
								
								Add inc-at word to core, and update some usages of at+ to use it instead  
							
							
							
						 
						
							2008-12-09 16:54:48 -06:00  
				
					
						
							
							
								 
						
							
							
								640b37cb70 
								
							
								 
							
						 
						
							
							
								
								More permissive  
							
							
							
						 
						
							2008-12-08 19:14:18 -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  
				
					
						
							
							
								 
						
							
							
								145b635eb6 
								
							
								 
							
						 
						
							
							
								
								More optimization intended to reduce compile time. Another 10% speedup on compiling empty PEG parser  
							
							... 
							
							
							
							- new map-flat combinator replaces usages of 'map flatten' in compiler
- compiler.tree.def-use.simplified uses an explicit accumulator instead of flatten
- compiler.tree.tuple-unboxing uses an explicit accumulator instead of flatten
- fix inlining regression from last time: custom inlining results would sometimes be discarded
- compiler.tree's 3each and 3map combinators rewritten to not use flip
- rewrite math.partial-dispatch without locals (purely stylistic, no performance increase)
- hand-optimize flip for common arrays-of-arrays case
- don't run escape analysis and tuple unboxing if there are no allocations in the IR 
							
						 
						
							2008-12-06 11:17:19 -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  
				
					
						
							
							
								 
						
							
							
								6c7005d588 
								
							
								 
							
						 
						
							
							
								
								Tweak inlining heuristic  
							
							
							
						 
						
							2008-12-05 01:50:14 -06:00  
				
					
						
							
							
								 
						
							
							
								fa6a2047f0 
								
							
								 
							
						 
						
							
							
								
								New inlining heuristic: number of usages within this word. Speeds up bootstrap by 10%  
							
							
							
						 
						
							2008-12-04 07:05:59 -06:00  
				
					
						
							
							
								 
						
							
							
								e5ed7447ed 
								
							
								 
							
						 
						
							
							
								
								Removing more >r/r> usages  
							
							
							
						 
						
							2008-12-03 08:46:16 -06:00  
				
					
						
							
							
								 
						
							
							
								d60c79c9bf 
								
							
								 
							
						 
						
							
							
								
								Expand instance? with literal class  
							
							
							
						 
						
							2008-12-03 08:11:51 -06:00  
				
					
						
							
							
								 
						
							
							
								402da00390 
								
							
								 
							
						 
						
							
							
								
								Fixing bootstrap with specialized arrays  
							
							
							
						 
						
							2008-12-02 02:44:19 -06:00  
				
					
						
							
							
								 
						
							
							
								e8a69a3aea 
								
							
								 
							
						 
						
							
							
								
								Fix conflict  
							
							
							
						 
						
							2008-11-29 05:14:49 -06:00  
				
					
						
							
							
								 
						
							
							
								86d45262dc 
								
							
								 
							
						 
						
							
							
								
								Add toutput ype propagation for #alien-invoke and #alien-indirect nodes  
							
							
							
						 
						
							2008-11-29 03:47:38 -06:00  
				
					
						
							
							
								 
						
							
							
								1fa819191d 
								
							
								 
							
						 
						
							
							
								
								Change inlining heuristic so that it behaves the same with dip and >r/r>  
							
							
							
						 
						
							2008-11-24 05:46:26 -06:00  
				
					
						
							
							
								 
						
							
							
								c678e6e362 
								
							
								 
							
						 
						
							
							
								
								Don't use combinators.short-circuit in compiler  
							
							
							
						 
						
							2008-11-21 04:00:37 -06:00  
				
					
						
							
							
								 
						
							
							
								79bffecc2e 
								
							
								 
							
						 
						
							
							
								
								Add type function for /mod  
							
							
							
						 
						
							2008-11-21 01:54:56 -06:00  
				
					
						
							
							
								 
						
							
							
								2fe364a7bb 
								
							
								 
							
						 
						
							
							
								
								Specialized arrays work in progress  
							
							
							
						 
						
							2008-11-14 20:18:16 -06:00  
				
					
						
							
							
								 
						
							
							
								f04b32ea02 
								
							
								 
							
						 
						
							
							
								
								Remove duplicated logic  
							
							
							
						 
						
							2008-11-11 09:10:33 -06:00  
				
					
						
							
							
								 
						
							
							
								5f4b247072 
								
							
								 
							
						 
						
							
							
								
								Propagation pass now uses a stack of hashtables for predicated constraints instead of cloning a hashtable. New strategy for recursive propagation; now converges with fewer iterations. ~15 sec bootstrap time improvement  
							
							
							
						 
						
							2008-11-11 08:49:00 -06:00  
				
					
						
							
							
								 
						
							
							
								43335d9c36 
								
							
								 
							
						 
						
							
							
								
								Intervals now use a special singleton for the full interval to eliminate FP math in the common case; fix a bug in value-info<=  
							
							
							
						 
						
							2008-11-11 08:30:14 -06:00  
				
					
						
							
							
								 
						
							
							
								bfd119e3b5 
								
							
								 
							
						 
						
							
							
								
								I/O ricing: various hints added so that UTF8 and ASCII fastpaths compile with less dispatch. 25% improvement on reverse-complement  
							
							
							
						 
						
							2008-11-06 00:02:44 -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  
				
					
						
							
							
								 
						
							
							
								06b99c31ee 
								
							
								 
							
						 
						
							
							
								
								Fix regression. If a parsing word called the compiler, it might compile a caller of a generic before the generic gets built, which would throw an error since the inferred effect of the generic might have less inputs than the combination's dispatch#  
							
							
							
						 
						
							2008-11-03 20:59:48 -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  
				
					
						
							
							
								 
						
							
							
								c19f2257f4 
								
							
								 
							
						 
						
							
							
								
								Fix permission bits  
							
							
							
						 
						
							2008-10-02 08:34:49 -05:00  
				
					
						
							
							
								 
						
							
							
								f539406ee1 
								
							
								 
							
						 
						
							
							
								
								Fold class predicates applied to literals  
							
							
							
						 
						
							2008-10-02 05:12:38 -05:00  
				
					
						
							
							
								 
						
							
							
								1a865f89ac 
								
							
								 
							
						 
						
							
							
								
								Some optimizer change sfores for new codegen  
							
							
							
						 
						
							2008-09-17 22:18:08 -05:00  
				
					
						
							
							
								 
						
							
							
								01129fb9bd 
								
							
								 
							
						 
						
							
							
								
								Add unit test for locals performance regresion  
							
							
							
						 
						
							2008-09-13 03:09:16 -05:00  
				
					
						
							
							
								 
						
							
							
								10c68ebb21 
								
							
								 
							
						 
						
							
							
								
								New modular arithmetic optimization pass  
							
							
							
						 
						
							2008-09-12 18:08:38 -05:00  
				
					
						
							
							
								 
						
							
							
								54232f80ca 
								
							
								 
							
						 
						
							
							
								
								Adding identity optimization pass, tweak inlining heuristic  
							
							
							
						 
						
							2008-09-12 08:18:44 -05:00  
				
					
						
							
							
								 
						
							
							
								2bf532263d 
								
							
								 
							
						 
						
							
							
								
								Oops  
							
							
							
						 
						
							2008-09-12 05:36:06 -05:00  
				
					
						
							
							
								 
						
							
							
								40da49bef5 
								
							
								 
							
						 
						
							
							
								
								Perform loop detection before normalization, clean up normalization pass, more aggressive recursive return value propagation. Fixes regression on nsieve benchmark  
							
							
							
						 
						
							2008-09-12 05:17:27 -05:00  
				
					
						
							
							
								 
						
							
							
								cf80dd122a 
								
							
								 
							
						 
						
							
							
								
								Updating code for make and fry changes  
							
							
							
						 
						
							2008-09-10 22:11:40 -05:00  
				
					
						
							
							
								 
						
							
							
								8a921c791c 
								
							
								 
							
						 
						
							
							
								
								if-empty changes  
							
							
							
						 
						
							2008-09-06 19:13:59 -05:00  
				
					
						
							
							
								 
						
							
							
								e1716d92b3 
								
							
								 
							
						 
						
							
							
								
								Remove delegation slot  
							
							
							
						 
						
							2008-09-03 03:46:56 -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  
				
					
						
							
							
								 
						
							
							
								669e0f8f0a 
								
							
								 
							
						 
						
							
							
								
								Propagate slot types of literals  
							
							
							
						 
						
							2008-09-01 18:25:21 -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  
				
					
						
							
							
								 
						
							
							
								3cef7c9992 
								
							
								 
							
						 
						
							
							
								
								Smarter usage tracking system  
							
							
							
						 
						
							2008-08-30 02:31:27 -05:00  
				
					
						
							
							
								 
						
							
							
								1fcbdf9d52 
								
							
								 
							
						 
						
							
							
								
								Fix more compiler bugs  
							
							
							
						 
						
							2008-08-29 00:26:47 -05:00  
				
					
						
							
							
								 
						
							
							
								74dccc7fbf 
								
							
								 
							
						 
						
							
							
								
								Debugging compiler  
							
							
							
						 
						
							2008-08-28 22:28:34 -05:00  
				
					
						
							
							
								 
						
							
							
								ea2d02f248 
								
							
								 
							
						 
						
							
							
								
								Add some failing tests  
							
							
							
						 
						
							2008-08-27 16:25:37 -05:00  
				
					
						
							
							
								 
						
							
							
								8c46a3d56f 
								
							
								 
							
						 
						
							
							
								
								Only annotate certain nodes ith value info  
							
							
							
						 
						
							2008-08-24 14:02:33 -05:00  
				
					
						
							
							
								 
						
							
							
								8b855b2445 
								
							
								 
							
						 
						
							
							
								
								Help lint fixes  
							
							
							
						 
						
							2008-08-22 23:00:35 -05:00  
				
					
						
							
							
								 
						
							
							
								40e926609a 
								
							
								 
							
						 
						
							
							
								
								Fixing unit tests  
							
							
							
						 
						
							2008-08-22 22:07:59 -05:00  
				
					
						
							
							
								 
						
							
							
								2440fc1ceb 
								
							
								 
							
						 
						
							
							
								
								Fixing remaining issues  
							
							
							
						 
						
							2008-08-22 17:38:23 -05:00  
				
					
						
							
							
								 
						
							
							
								9aa6d8ae04 
								
							
								 
							
						 
						
							
							
								
								Compiler fixes  
							
							
							
						 
						
							2008-08-22 15:30:57 -05:00  
				
					
						
							
							
								 
						
							
							
								86f11713e3 
								
							
								 
							
						 
						
							
							
								
								Fixing some more bugs  
							
							
							
						 
						
							2008-08-22 03:12:15 -05:00  
				
					
						
							
							
								 
						
							
							
								aa9341e579 
								
							
								 
							
						 
						
							
							
								
								Enforce that usages of >r/r> must be balanced within a quotation  
							
							
							
						 
						
							2008-08-18 20:49:03 -05:00  
				
					
						
							
							
								 
						
							
							
								9b6fb70eba 
								
							
								 
							
						 
						
							
							
								
								Debugging optimizer  
							
							
							
						 
						
							2008-08-18 15:47:49 -05:00  
				
					
						
							
							
								 
						
							
							
								2fa08c75b9 
								
							
								 
							
						 
						
							
							
								
								Fix bug, better tests  
							
							
							
						 
						
							2008-08-15 21:45:05 -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  
				
					
						
							
							
								 
						
							
							
								a61e13f7be 
								
							
								 
							
						 
						
							
							
								
								More aggressive DCE  
							
							
							
						 
						
							2008-08-13 23:52:49 -05:00  
				
					
						
							
							
								 
						
							
							
								56d272df9e 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into new_optimizer  
							
							
							
						 
						
							2008-08-12 03:36:44 -05:00  
				
					
						
							
							
								 
						
							
							
								f2a5a30c6f 
								
							
								 
							
						 
						
							
							
								
								New front-end and high-level optimizer lands  
							
							
							
						 
						
							2008-08-12 03:22:45 -05:00