499778d808 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.escape-analysis.allocations: simplify stack effect.  
							
							
							
						 
						
							2011-09-17 08:14:13 -07:00  
				
					
						
							
							
								 
						
							
							
								168dd1f825 
								
							
								 
							
						 
						
							
							
								
								FFI rewrite part 7: compile callback bodies with the optimizing compiler  
							
							
							
						 
						
							2010-07-28 00:49:26 -04:00  
				
					
						
							
							
								 
						
							
							
								512fe14e4e 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'bags' of git://github.com/littledan/Factor  
							
							... 
							
							
							
							Conflicts:
	basis/compiler/cfg/ssa/construction/tdmsc/tdmsc.factor
	basis/furnace/auth/auth.factor
	basis/stack-checker/backend/backend.factor 
							
						 
						
							2010-03-16 13:28:00 -04:00  
				
					
						
							
							
								 
						
							
							
								191ac353fd 
								
							
								 
							
						 
						
							
							
								
								generalize stack effects so we can bootstrap with the stricter stack effect checking  
							
							
							
						 
						
							2010-03-08 23:38:10 -08:00  
				
					
						
							
							
								 
						
							
							
								7074979745 
								
							
								 
							
						 
						
							
							
								
								Moving new-sets to sets  
							
							
							
						 
						
							2010-02-26 16:01:01 -05:00  
				
					
						
							
							
								 
						
							
							
								b963d56aac 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.escape-analysis: fix bug that comes up when inheritance is used  
							
							
							
						 
						
							2010-02-16 14:44:13 +13:00  
				
					
						
							
							
								 
						
							
							
								a118f208dc 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation, compiler.tree.escape-analysis: make these passes handle constants in a more robust way in compilation units involving tuple reshaping  
							
							
							
						 
						
							2010-02-12 02:50:59 +13:00  
				
					
						
							
							
								 
						
							
							
								ac800e2396 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.escape-analysis: make tests a bit more robust; a change to boa constructors recently meant dead curries were showing up on certain expansions, this was throwing off the escape-analysis test's unboxed allocation counting. Fix this by having the test run DCE first, and remove a few tests that no longer make sense now  
							
							
							
						 
						
							2010-01-18 23:32:34 +13:00  
				
					
						
							
							
								 
						
							
							
								df4fb4a3ee 
								
							
								 
							
						 
						
							
							
								
								Removing integers-as-sequences  
							
							
							
						 
						
							2010-01-15 07:15:33 +13:00  
				
					
						
							
							
								 
						
							
							
								44a604fdbe 
								
							
								 
							
						 
						
							
							
								
								compiler.tree: remove some code duplication concerning #alien nodes  
							
							
							
						 
						
							2010-01-07 16:06:07 +13: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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								c3d60e5899 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.recursive: more accurate loop detection  
							
							
							
						 
						
							2009-08-04 19:18:40 -05:00  
				
					
						
							
							
								 
						
							
							
								29327a787c 
								
							
								 
							
						 
						
							
							
								
								Remove initial-quot feature  
							
							
							
						 
						
							2009-06-15 13:07:15 -05:00  
				
					
						
							
							
								 
						
							
							
								285c8cecc6 
								
							
								 
							
						 
						
							
							
								
								Add some failing unit tests exposing bugs in initial-quot: implementation  
							
							
							
						 
						
							2009-06-13 18:34:27 -05:00  
				
					
						
							
							
								 
						
							
							
								dedbd14945 
								
							
								 
							
						 
						
							
							
								
								Fix escape analysis bug reported by Doug  
							
							
							
						 
						
							2009-05-15 17:18:38 -05:00  
				
					
						
							
							
								 
						
							
							
								65faa3fda3 
								
							
								 
							
						 
						
							
							
								
								Fix unit tests and load errors for slip removal  
							
							
							
						 
						
							2009-05-10 17:03:41 -05:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								05f3f9dcb9 
								
							
								 
							
						 
						
							
							
								
								Fixing unit tests for stack effect inference changes  
							
							
							
						 
						
							2009-04-20 21:15:19 -05:00  
				
					
						
							
							
								 
						
							
							
								6b25e99470 
								
							
								 
							
						 
						
							
							
								
								Add summary for heaps more vocabs  
							
							
							
						 
						
							2009-02-16 21:05:13 -06:00  
				
					
						
							
							
								 
						
							
							
								bf5ff11720 
								
							
								 
							
						 
						
							
							
								
								Update usages of all-equal? now that its in the grouping vocab  
							
							
							
						 
						
							2009-01-16 15:14:30 -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  
				
					
						
							
							
								 
						
							
							
								5bae69426d 
								
							
								 
							
						 
						
							
							
								
								Stack checker cleanup and optimization  
							
							... 
							
							
							
							- stack-checker.state vocabulary split up into stack-checker.{state,values,recursive-state}
- code that modifies and searches recursive state factored out into stack-checker.recursive-state
- recursive state is now a set of three binary hash trees instead of an alist, and no longer contains unnecessary data
- binary hash trees are in stack-checker.recursive-state.tree: unbalanced, persistent
- ~8 second speedup on bootstrap, ~20 second speedup in "peg.javascript" require 
							
						 
						
							2008-11-13 00:07:45 -06:00  
				
					
						
							
							
								 
						
							
							
								792df37431 
								
							
								 
							
						 
						
							
							
								
								Update unit test  
							
							
							
						 
						
							2008-11-11 08:50:30 -06:00  
				
					
						
							
							
								 
						
							
							
								0cc0a41e57 
								
							
								 
							
						 
						
							
							
								
								Update for compiler.intrinsics removal  
							
							
							
						 
						
							2008-10-20 20:40:36 -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  
				
					
						
							
							
								 
						
							
							
								6717d3743e 
								
							
								 
							
						 
						
							
							
								
								Fix escape analysis bug; speedup on fib4 benchmark  
							
							
							
						 
						
							2008-08-31 09:03:03 -05:00  
				
					
						
							
							
								 
						
							
							
								6ead724b25 
								
							
								 
							
						 
						
							
							
								
								Fixing bugs  
							
							
							
						 
						
							2008-08-29 04:23:39 -05:00  
				
					
						
							
							
								 
						
							
							
								799cefc39a 
								
							
								 
							
						 
						
							
							
								
								Fix conflict  
							
							
							
						 
						
							2008-08-27 05:52:38 -05:00  
				
					
						
							
							
								 
						
							
							
								8c46a3d56f 
								
							
								 
							
						 
						
							
							
								
								Only annotate certain nodes ith value info  
							
							
							
						 
						
							2008-08-24 14:02:33 -05:00  
				
					
						
							
							
								 
						
							
							
								9aa6d8ae04 
								
							
								 
							
						 
						
							
							
								
								Compiler fixes  
							
							
							
						 
						
							2008-08-22 15:30:57 -05:00  
				
					
						
							
							
								 
						
							
							
								17758f3749 
								
							
								 
							
						 
						
							
							
								
								Stack flow checker; various fixes  
							
							
							
						 
						
							2008-08-19 17:11:33 -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  
				
					
						
							
							
								 
						
							
							
								e1987d4af9 
								
							
								 
							
						 
						
							
							
								
								Debugging new optimizer  
							
							
							
						 
						
							2008-08-14 23:35:19 -05:00  
				
					
						
							
							
								 
						
							
							
								a61e13f7be 
								
							
								 
							
						 
						
							
							
								
								More aggressive DCE  
							
							
							
						 
						
							2008-08-13 23:52:49 -05:00  
				
					
						
							
							
								 
						
							
							
								4f82ebdc23 
								
							
								 
							
						 
						
							
							
								
								DCE work in progress  
							
							
							
						 
						
							2008-08-13 14:17:04 -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