Slava Pestov
							
						 
						
							 
							
							
							
								
							
								8a9c15ab0b 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.escape-analysis: if the output of an #introduce node has an immutable tuple class type declaration, and it is not passed to any subroutine calls, or returned from the word, then unbox it. This speeds up vector arithmetic words on specialized arrays, because the specialized array is unboxed up-front, eliminating an indirection on every loop iteration  
							
							 
							
							
							
						 
						
							2009-08-09 16:29:21 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								43a1834e0b 
								
							
								 
							
						 
						
							
							
								
								stack-checker: fix case where invalid code could infer  
							
							 
							
							
							
						 
						
							2009-05-23 15:50:35 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								fc4894fbdf 
								
							
								 
							
						 
						
							
							
								
								Replace ratio and complex built-in types with tuples defined in the library. This frees up two lo-tags, so move array and quotation over to these tags and update compiler for new tags  
							
							 
							
							
							
						 
						
							2009-04-30 00:27:35 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								26f309d2ae 
								
							
								 
							
						 
						
							
							
								
								Trying to make PEGs compile faster by reducing the number of low level IR nodes: merge functionality of #>r and #r> into #shuffle, and generate 1 node instead of 3 for calls to get-local  
							
							 
							
							
							
						 
						
							2008-11-11 18:46:31 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0cc0a41e57 
								
							
								 
							
						 
						
							
							
								
								Update for compiler.intrinsics removal  
							
							 
							
							
							
						 
						
							2008-10-20 20:40:36 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a4a00f6e40 
								
							
								 
							
						 
						
							
							
								
								Adding missing optimizations to finalization pass  
							
							 
							
							
							
						 
						
							2008-09-02 22:59:49 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7359873b60 
								
							
								 
							
						 
						
							
							
								
								Minor compiler tweaks  
							
							 
							
							
							
						 
						
							2008-08-24 01:21:23 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								9aa6d8ae04 
								
							
								 
							
						 
						
							
							
								
								Compiler fixes  
							
							 
							
							
							
						 
						
							2008-08-22 15:30:57 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								86f11713e3 
								
							
								 
							
						 
						
							
							
								
								Fixing some more bugs  
							
							 
							
							
							
						 
						
							2008-08-22 03:12:15 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								aa9341e579 
								
							
								 
							
						 
						
							
							
								
								Enforce that usages of >r/r> must be balanced within a quotation  
							
							 
							
							
							
						 
						
							2008-08-18 20:49:03 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								9b6fb70eba 
								
							
								 
							
						 
						
							
							
								
								Debugging optimizer  
							
							 
							
							
							
						 
						
							2008-08-18 15:47:49 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e1987d4af9 
								
							
								 
							
						 
						
							
							
								
								Debugging new optimizer  
							
							 
							
							
							
						 
						
							2008-08-14 23:35:19 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a61e13f7be 
								
							
								 
							
						 
						
							
							
								
								More aggressive DCE  
							
							 
							
							
							
						 
						
							2008-08-13 23:52:49 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								56d272df9e 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into new_optimizer  
							
							 
							
							
							
						 
						
							2008-08-12 03:36:44 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f2a5a30c6f 
								
							
								 
							
						 
						
							
							
								
								New front-end and high-level optimizer lands  
							
							 
							
							
							
						 
						
							2008-08-12 03:22:45 -05:00