Slava Pestov
							
						 
						
							 
							
							
							
								
							
								428ba9fd0f 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: fuse ##load-integer/##load-reference into ##replace to form ##replace-imm  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:28 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								4d749c9dfe 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: fix tests  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:14 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a9ccfa8f05 
								
							
								 
							
						 
						
							
							
								
								strings: move string-nth primitive out of the VM and into the library  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:12 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d143aa64b2 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.transforms: open-code >fixnum when input is already a fixnum or f  
							
							 
							
							
							
						 
						
							2010-04-19 01:14:00 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2517b2fc2b 
								
							
								 
							
						 
						
							
							
								
								compiler: combine ##load-constant followed by ##alien-double into a ##load-double on x86-32, saving an integer register  
							
							 
							
							
							
						 
						
							2010-04-18 21:42:45 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								bc9241d2b7 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.recursive: more fine-grained generalize-counter-interval eliminates overflow checks from binary-search  
							
							 
							
							
							
						 
						
							2010-04-18 21:42:45 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								bd4e920995 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: fix scalability issue with constraints  
							
							 
							
							
							
						 
						
							2010-04-14 17:19:26 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e6a15c0b33 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: don't constant-fold boa constructors of identity-tuple subclasses  
							
							 
							
							
							
						 
						
							2010-03-26 22:44:56 -04:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								f24a74f66c 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into row-polymorphism  
							
							 
							
							
							
						 
						
							2010-03-10 11:48:41 -08:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7744559a46 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: clean up  
							
							 
							
							
							
						 
						
							2010-03-10 15:15:49 +13:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								8e227bc874 
								
							
								 
							
						 
						
							
							
								
								Propagation tracks length just like any other read-only slot  
							
							 
							
							
							
						 
						
							2010-03-09 15:58:44 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								bcbc7632c6 
								
							
								 
							
						 
						
							
							
								
								fix stack effects in compiler tests  
							
							 
							
							
							
						 
						
							2010-03-08 23:46:20 -08:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								191ac353fd 
								
							
								 
							
						 
						
							
							
								
								generalize stack effects so we can bootstrap with the stricter stack effect checking  
							
							 
							
							
							
						 
						
							2010-03-08 23:38:10 -08:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								a3033e885a 
								
							
								 
							
						 
						
							
							
								
								make effect variables part of effect syntax, stored out of band in effect tuple  
							
							 
							
							
							
						 
						
							2010-03-05 13:30:10 -08:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								434605c0b5 
								
							
								 
							
						 
						
							
							
								
								Changing some uses of prune to use members  
							
							 
							
							
							
						 
						
							2010-02-27 13:14:03 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								7074979745 
								
							
								 
							
						 
						
							
							
								
								Moving new-sets to sets  
							
							 
							
							
							
						 
						
							2010-02-26 16:01:01 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								73a990a4b8 
								
							
								 
							
						 
						
							
							
								
								Making it fast to create a new hashset  
							
							 
							
							
							
						 
						
							2010-02-26 13:24:26 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								b76c82048d 
								
							
								 
							
						 
						
							
							
								
								Making propagation and tuple.parser refer to new-sets; adding some missing features from sets into new-sets  
							
							 
							
							
							
						 
						
							2010-02-26 12:07:37 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ae25cfe712 
								
							
								 
							
						 
						
							
							
								
								Get foldable and flushable declarations working on typed words  
							
							 
							
							
							
						 
						
							2010-02-24 00:16:55 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								6501480a0e 
								
							
								 
							
						 
						
							
							
								
								Fix two problems with recompilation: predicate constant folding was recording unsatisfied dependencies in some cases, and literal tuple instances of forgotten classes would cause problems for method inlining  
							
							 
							
							
							
						 
						
							2010-02-20 12:01:47 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								b963d56aac 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.escape-analysis: fix bug that comes up when inheritance is used  
							
							 
							
							
							
						 
						
							2010-02-16 14:44:13 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								64a37d2db6 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.transforms: tweak 2^ transform to fix performance regression in benchmark.beust2; introduced by  47d6507548 
							
							 
							
							
							
						 
						
							2010-02-16 01:03:09 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								57ba1aff60 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.inlining: remove some unused words  
							
							 
							
							
							
						 
						
							2010-02-11 16:29:48 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								662eba7a67 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.call-effect: hack so that call( doesn't clear the last error  
							
							 
							
							
							
						 
						
							2010-02-03 23:11:33 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7de81976a5 
								
							
								 
							
						 
						
							
							
								
								Revert "macros: macro body is now defined in its own subword, for compile-time stack effect checking"  
							
							 
							
							... 
							
							
							
							This reverts commit 24de7c52f0c3f21cfcdb80235cac7296b0401c85. 
							
						 
						
							2010-02-03 23:11:29 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								55a89ec9c2 
								
							
								 
							
						 
						
							
							
								
								Better error message for call( when quotation has the wrong effect  
							
							 
							
							
							
						 
						
							2010-02-03 23:11:25 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								df55fed478 
								
							
								 
							
						 
						
							
							
								
								generic: rename method-body predicate class to method  
							
							 
							
							
							
						 
						
							2010-02-03 23:11:24 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								b7fde7af27 
								
							
								 
							
						 
						
							
							
								
								macros: macro body is now defined in its own subword, for compile-time stack effect checking  
							
							 
							
							
							
						 
						
							2010-02-03 23:11:22 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								5ed0bc72aa 
								
							
								 
							
						 
						
							
							
								
								Merge git://github.com/littledan/Factor into littledan  
							
							 
							
							
							
						 
						
							2010-01-31 02:54:58 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								6cc68e889e 
								
							
								 
							
						 
						
							
							
								
								stack-checker.dependencies: add tuple layout dependencies for use by 'new' and 'boa'  
							
							 
							
							
							
						 
						
							2010-01-30 09:29:00 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								09ead56652 
								
							
								 
							
						 
						
							
							
								
								Re-work flushed dependencies into new compiler cross-referencing framework  
							
							 
							
							
							
						 
						
							2010-01-30 09:29:00 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c058343167 
								
							
								 
							
						 
						
							
							
								
								Add some utility words to stack-checker.dependencies in preparation for a refactoring  
							
							 
							
							
							
						 
						
							2010-01-30 09:28:59 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								26f311279c 
								
							
								 
							
						 
						
							
							
								
								Re-defining a tuple class now invalidates cached quotation stack effects  
							
							 
							
							
							
						 
						
							2010-01-30 09:28:59 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c027046857 
								
							
								 
							
						 
						
							
							
								
								New 'conditional dependency' mechanism for more accurate recording of recompilation information  
							
							 
							
							
							
						 
						
							2010-01-30 09:28:57 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								817bc02392 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.call-effect: clear out dependency tracking variables to ensure that infer calls made by call( as part of the compile process doesn't pollute the dependencies of the word being compiled  
							
							 
							
							
							
						 
						
							2010-01-30 09:28:57 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ab428fc259 
								
							
								 
							
						 
						
							
							
								
								Code cleanups  
							
							 
							
							
							
						 
						
							2010-01-30 09:28:56 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f031a97084 
								
							
								 
							
						 
						
							
							
								
								Work in progress: record constant-folds of predicate words, and call-next-method invocations, in the same way that method inlining are recorded, for greater recompilation accuracy  
							
							 
							
							
							
						 
						
							2010-01-30 09:28:56 +13:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								52f2ac2bb9 
								
							
								 
							
						 
						
							
							
								
								Tests for propagation additions; making fixnum-bit? inline  
							
							 
							
							
							
						 
						
							2010-01-25 20:15:17 -06:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								d3590ea210 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							... 
							
							
							
							Conflicts:
	basis/compiler/tree/propagation/transforms/transforms.factor 
							
						 
						
							2010-01-20 00:15:55 -06:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								aa1651032d 
								
							
								 
							
						 
						
							
							
								
								Adding compiler transforms in propagation  
							
							 
							
							
							
						 
						
							2010-01-20 00:10:49 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								9a222a4163 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.call-effect: eliminate some dispatch from call( expansion  
							
							 
							
							
							
						 
						
							2010-01-19 21:08:45 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								3b5f7a9ecf 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: ensure that we don't call 'equal?' or 'hashcode' on literals in words being compiled  
							
							 
							
							
							
						 
						
							2010-01-16 20:00:48 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								df4fb4a3ee 
								
							
								 
							
						 
						
							
							
								
								Removing integers-as-sequences  
							
							 
							
							
							
						 
						
							2010-01-15 07:15:33 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								50d68c1b10 
								
							
								 
							
						 
						
							
							
								
								Fix input-classes of /i and mod, and add some regression tests with various reductions of the original test-case from the terrain demo  
							
							 
							
							
							
						 
						
							2010-01-14 18:15:51 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								47a5e96547 
								
							
								 
							
						 
						
							
							
								
								Rework min and max so that behavior with floats and NaNs is consistent between generic arithmetic and open-coded float intrinsics  
							
							 
							
							
							
						 
						
							2010-01-13 22:20:16 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								235f3238f5 
								
							
								 
							
						 
						
							
							
								
								Add alien-assembly form for inline assembler, works like alien-invoke except calls a user-supplied quotation instead of generating a subroutine call. Replaces FPU status control, SSE detection and read timestamp routines in vm/cpu-x86.*S  
							
							 
							
							
							
						 
						
							2010-01-07 17:39:22 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								44a604fdbe 
								
							
								 
							
						 
						
							
							
								
								compiler.tree: remove some code duplication concerning #alien nodes  
							
							 
							
							
							
						 
						
							2010-01-07 16:06:07 +13:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								104c29aabc 
								
							
								 
							
						 
						
							
							
								
								simd intrinsic implementation for v*high, v*hs+, vavg, and vsad  
							
							 
							
							
							
						 
						
							2009-12-05 14:52:18 -08:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								67cc1c01be 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into simd-cleanup  
							
							 
							
							
							
						 
						
							2009-11-26 16:14:46 -08:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								66d0cafa94 
								
							
								 
							
						 
						
							
							
								
								fix buggy simd intrinsics  
							
							 
							
							
							
						 
						
							2009-11-26 13:28:40 -08:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								65d8060075 
								
							
								 
							
						 
						
							
							
								
								fix simd intrinsic compilation  
							
							 
							
							
							
						 
						
							2009-11-24 11:37:28 -08:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								d94ffe6d78 
								
							
								 
							
						 
						
							
							
								
								scalar fallbacks for simd intrinsics  
							
							 
							
							
							
						 
						
							2009-11-23 21:24:55 -08:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								152b0d2df5 
								
							
								 
							
						 
						
							
							
								
								break simd intrinsics into a separate vocab so they can be intrinsified before the simd methods compile  
							
							 
							
							
							
						 
						
							2009-11-19 11:53:46 -08:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0612bc6177 
								
							
								 
							
						 
						
							
							
								
								Factor source files should not be executable  
							
							 
							
							
							
						 
						
							2009-11-21 17:50:43 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								361c38d5a1 
								
							
								 
							
						 
						
							
							
								
								heap-size now has a partial-eval instead of being foldable, and the partial-eval adds a dependency on the C type word. Fixes problem where redefining a struct didn't update specialized array  
							
							 
							
							
							
						 
						
							2009-11-15 11:26:37 -06:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								f544982fda 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor into simd-cleanup  
							
							 
							
							... 
							
							
							
							Conflicts:
	basis/math/vectors/simd/functor/functor.factor 
							
						 
						
							2009-11-14 21:02:39 -06:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								8a8699ac98 
								
							
								 
							
						 
						
							
							
								
								backend fixups  
							
							 
							
							
							
						 
						
							2009-11-14 20:59:03 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7377c96a21 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.branches: fix recent constraints change  
							
							 
							
							
							
						 
						
							2009-11-13 07:16:41 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								afecb9c758 
								
							
								 
							
						 
						
							
							
								
								Fixing call( inline caching  
							
							 
							
							
							
						 
						
							2009-11-13 04:32:33 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								86da8ebed9 
								
							
								 
							
						 
						
							
							
								
								Instead of bumping the definition counter every time in the VM, bump it only if stack effects changed or macros were redefined  
							
							 
							
							
							
						 
						
							2009-11-13 03:52:14 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								720c412431 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: fix bug in constraints that caused retain stack overflow  
							
							 
							
							
							
						 
						
							2009-11-13 03:22:57 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ff25aaef54 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.transforms: inline push if types are known. Speeds up reverse-complement, sort, sum-file benchmarks  
							
							 
							
							
							
						 
						
							2009-11-12 17:24:32 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7afea4c0ea 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: implementing missing case in branch constraints  
							
							 
							
							
							
						 
						
							2009-11-12 17:24:11 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								cba12eae37 
								
							
								 
							
						 
						
							
							
								
								Invalidate inline caches used by call( and execute( when words are redefined  
							
							 
							
							
							
						 
						
							2009-11-12 16:09:07 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								064c00f78d 
								
							
								 
							
						 
						
							
							
								
								New identity-hashcode primitive  
							
							 
							
							
							
						 
						
							2009-11-10 21:18:54 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								473cc7db4a 
								
							
								 
							
						 
						
							
							
								
								stack-checker: tighten some screws in error reporting  
							
							 
							
							
							
						 
						
							2009-11-09 00:17:24 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								cd2e226afa 
								
							
								 
							
						 
						
							
							
								
								stack-checker: split off stack-checker.dependencies from stack-checker.state  
							
							 
							
							
							
						 
						
							2009-11-08 20:34:46 -06:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								8894e9047c 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into simd-cleanup  
							
							 
							
							
							
						 
						
							2009-11-07 22:26:09 -06:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								00ce8b6a33 
								
							
								 
							
						 
						
							
							
								
								deprimitivize tuck and put it to pasture  
							
							 
							
							
							
						 
						
							2009-11-05 22:47:05 -06:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								d2fe75276e 
								
							
								 
							
						 
						
							
							
								
								custom inlining for diff and intersect, when given a literal sequence. this cuts off 1/3 of the running time of a microbenchmark  
							
							 
							
							
							
						 
						
							2009-11-05 13:13:27 -06:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								75d04922b9 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into simd-cleanup  
							
							 
							
							... 
							
							
							
							Conflicts:
	basis/math/vectors/simd/functor/functor.factor 
							
						 
						
							2009-11-05 11:27:08 -06:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								42493b9778 
								
							
								 
							
						 
						
							
							
								
								update compiler.tree.propagation.simd, and don't load it till math.vectors.simd is loaded  
							
							 
							
							
							
						 
						
							2009-11-02 15:09:16 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e4ad642134 
								
							
								 
							
						 
						
							
							
								
								vm: 4 bit tags, new representation of alien objects makes unbox-any-c-ptr more efficient (work in progress)  
							
							 
							
							
							
						 
						
							2009-11-02 04:25:54 -06:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								3f15e028f7 
								
							
								 
							
						 
						
							
							
								
								exile roll and -roll to basis/shuffle and mark them deprecated  
							
							 
							
							
							
						 
						
							2009-10-30 17:11:45 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								3fbe722561 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of  http://factorcode.org/git/factor  
							
							 
							
							... 
							
							
							
							Conflicts:
	basis/locals/locals.factor
	basis/peg/peg.factor
	extra/infix/infix.factor 
							
						 
						
							2009-10-28 16:17:24 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								bd13e018dd 
								
							
								 
							
						 
						
							
							
								
								memq? -> member-eq?, sorted-memq? -> sorted-member-eq?  
							
							 
							
							
							
						 
						
							2009-10-28 15:02:00 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								299b5b0f6c 
								
							
								 
							
						 
						
							
							
								
								filter-here -> filter!  
							
							 
							
							
							
						 
						
							2009-10-28 00:44:05 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								935c0797c3 
								
							
								 
							
						 
						
							
							
								
								update existing code for [let change  
							
							 
							
							
							
						 
						
							2009-10-27 22:05:37 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								d17ef38007 
								
							
								 
							
						 
						
							
							
								
								update compiler.tree.cleanup test  
							
							 
							
							
							
						 
						
							2009-10-26 23:01:35 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0c431f1222 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: fix broken corner cases in bitand and shift transforms, exposed by Hugh Aguilar's LC53 benchmark  
							
							 
							
							
							
						 
						
							2009-10-24 01:09:32 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e46259bd33 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.transforms: fix problem with 'shift' transform when input was a bignum  
							
							 
							
							
							
						 
						
							2009-10-23 07:50:56 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2d5cdd19ec 
								
							
								 
							
						 
						
							
							
								
								compiler: on PPC, ANDI, ORI and XORI instructions take an unsigned 16-bit immediate, unlike ADDI, SUBI and MULLI which take a signed 16-bit immediate. The code generator was not aware of this, and so for example '[ >fixnum -16 bitand ]' would generate incorrect code. Split up small-enough? hook into immediate-arithmetic? and immediate-bitwise? and update value numbering to be aware of this. Fixes classes.struct bitfields test failure  
							
							 
							
							
							
						 
						
							2009-10-19 04:58:29 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								d9002127fa 
								
							
								 
							
						 
						
							
							
								
								have vshuffle accept simd-128 variable byte shuffles  
							
							 
							
							
							
						 
						
							2009-10-10 11:30:11 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								366c341c5f 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.branches: fix live-branches computation for #dispatch nodes  
							
							 
							
							
							
						 
						
							2009-10-10 00:23:50 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								471c86a110 
								
							
								 
							
						 
						
							
							
								
								generate better code for vabs when instruction isn't available instead of using software fallback (-0.0 andn for floats, x > 0 ? x : -x for signed ints, nop for unsigned ints)  
							
							 
							
							
							
						 
						
							2009-10-09 14:24:55 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								01f5d392be 
								
							
								 
							
						 
						
							
							
								
								implement vneg as an intrinsic in terms of load -0, subtract  
							
							 
							
							
							
						 
						
							2009-10-09 13:16:39 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								bb93543054 
								
							
								 
							
						 
						
							
							
								
								Another identity in value numbering for bitfields  
							
							 
							
							
							
						 
						
							2009-10-08 15:20:42 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								eb31589092 
								
							
								 
							
						 
						
							
							
								
								Adding identity to propagation to remove some redundant bitands  
							
							 
							
							
							
						 
						
							2009-10-08 00:59:15 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								785f8620fd 
								
							
								 
							
						 
						
							
							
								
								glue conversion intrinsics to instructions  
							
							 
							
							
							
						 
						
							2009-10-06 20:13:38 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								fbe810fc3b 
								
							
								 
							
						 
						
							
							
								
								rename SIMD vmerge and kids to (vmerge), make new vmerge more generally useful  
							
							 
							
							
							
						 
						
							2009-10-05 17:55:39 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								0c9c3d4859 
								
							
								 
							
						 
						
							
							
								
								add %merge-vector-head and %merge-vector-tail instructions to back vmerge  
							
							 
							
							
							
						 
						
							2009-10-03 21:48:53 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								04bb03bb61 
								
							
								 
							
						 
						
							
							
								
								add intrinsics for v<=, v<, v=, v>, v>=, vunordered?  
							
							 
							
							
							
						 
						
							2009-10-03 11:29:34 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								38f413a8a6 
								
							
								 
							
						 
						
							
							
								
								add intrinsic for vnot/vbitnot  
							
							 
							
							
							
						 
						
							2009-10-02 20:04:28 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								aa3392e50f 
								
							
								 
							
						 
						
							
							
								
								implement vand, vor, vandn, and vxor as bitwise intrinsics for simd types  
							
							 
							
							
							
						 
						
							2009-10-02 14:17:01 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								d14f150b58 
								
							
								 
							
						 
						
							
							
								
								%test-vector instruction for vany?, vall?, vnone?  
							
							 
							
							
							
						 
						
							2009-10-01 15:35:38 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								987ced4070 
								
							
								 
							
						 
						
							
							
								
								%compare-vector instruction (only does v= for now)  
							
							 
							
							
							
						 
						
							2009-10-01 14:31:37 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								a93f8f66f9 
								
							
								 
							
						 
						
							
							
								
								Revert "add a %blend-vector intrinsic for v?"  
							
							 
							
							... 
							
							
							
							This reverts commit 21e4b28b67 . 
							
						 
						
							2009-09-30 23:40:37 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								7db7b63552 
								
							
								 
							
						 
						
							
							
								
								add a %blend-vector intrinsic for v?  
							
							 
							
							
							
						 
						
							2009-09-30 23:03:59 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								80e84a357d 
								
							
								 
							
						 
						
							
							
								
								math.vectors.simd: add vbroadcast intrinsic, fix integer overflow issues  
							
							 
							
							
							
						 
						
							2009-09-29 22:58:20 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f395d83379 
								
							
								 
							
						 
						
							
							
								
								math.vectors.simd: add fast intrinsic for 'nth', replace broadcast primitive with shuffles  
							
							 
							
							
							
						 
						
							2009-09-29 04:48:11 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e40a95c1e1 
								
							
								 
							
						 
						
							
							
								
								math.vectors.simd: add vshuffle intrinsic  
							
							 
							
							
							
						 
						
							2009-09-28 23:12:13 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								530accdad9 
								
							
								 
							
						 
						
							
							
								
								io.mmap: fix obsolete tests and get code to inline better  
							
							 
							
							
							
						 
						
							2009-09-28 03:18:27 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								b2ea3afd84 
								
							
								 
							
						 
						
							
							
								
								math.vectors.simd: add hlshift, hrshift (128-bit shift), vbitandn intrinsics  
							
							 
							
							
							
						 
						
							2009-09-28 02:17:46 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								bbbb207dab 
								
							
								 
							
						 
						
							
							
								
								Some fixes and cleanups in math.vectors  
							
							 
							
							... 
							
							
							
							- Tighten up type inference for operations on complex float arrays
- Fix v. to have correct behavior with complex numbers
- Rename v<< and v>> to vlshift and vrshift to avoid clashing with v>> accessor 
							
						 
						
							2009-09-24 06:58:33 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7ea8832556 
								
							
								 
							
						 
						
							
							
								
								Tweaks to reduce deployed image size  
							
							 
							
							
							
						 
						
							2009-09-24 06:24:43 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7b6128dd03 
								
							
								 
							
						 
						
							
							
								
								math.vectors.simd: add v<< and v>> intrinsics for bitwise shifts on elements  
							
							 
							
							
							
						 
						
							2009-09-24 03:32:39 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								43fa252af5 
								
							
								 
							
						 
						
							
							
								
								math.vectors.simd: new operations: vabs vsqrt vbitand vbitor vbitxor  
							
							 
							
							
							
						 
						
							2009-09-23 02:47:14 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d23826906f 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into integer-simd  
							
							 
							
							
							
						 
						
							2009-09-22 20:21:40 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7cfc63af51 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.branches: M: #phi propagate-around was unnecessary  
							
							 
							
							
							
						 
						
							2009-09-22 17:56:50 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								45ba559ce4 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor into constraints  
							
							 
							
							
							
						 
						
							2009-09-22 16:09:33 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								6e936bdb05 
								
							
								 
							
						 
						
							
							
								
								Fixing failing unit tests in compiler.tree.propagation due to constraints  
							
							 
							
							
							
						 
						
							2009-09-22 16:01:14 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0f0bf667b5 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor into integer-simd  
							
							 
							
							
							
						 
						
							2009-09-21 17:58:24 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								962d039852 
								
							
								 
							
						 
						
							
							
								
								Rename specific-method to method-for-class, rename (effective-method) to method-for-object, and make both much faster  
							
							 
							
							
							
						 
						
							2009-09-21 17:42:20 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ea44ea3522 
								
							
								 
							
						 
						
							
							
								
								math.vectors.simd: add saturated arithmetic operations  
							
							 
							
							
							
						 
						
							2009-09-20 23:16:02 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								acea55c692 
								
							
								 
							
						 
						
							
							
								
								math.vectors: add v+- word which is accelerated by SSE3  
							
							 
							
							
							
						 
						
							2009-09-20 17:43:16 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								47d8763340 
								
							
								 
							
						 
						
							
							
								
								More integer SIMD work  
							
							 
							
							... 
							
							
							
							- move generated vocab support from specialized-arrays to vocabs.generated
- add fuzz testing to math.vectors.simd
- add alien type support for integer SIMD vectors
- SIMD: parsing word generates a SIMD type, instead of pre-generating them all in math.vectors.simd 
							
						 
						
							2009-09-20 16:48:17 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								01d2ef415a 
								
							
								 
							
						 
						
							
							
								
								get compiler tests loading  
							
							 
							
							
							
						 
						
							2009-09-16 09:20:47 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								172219e931 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: fix unary-op type functions with complex number inputs  
							
							 
							
							
							
						 
						
							2009-09-15 14:30:20 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								32b95c2cdf 
								
							
								 
							
						 
						
							
							
								
								math: add unordered comparison operators u< u<= u> u>= which behave exactly like < <= > >= except no floating point exceptions are set if one or both inputs are NaNs; also add efficient intrinsic for unordered? predicate, and fix propagation type functions for abs, absq, and bitnot  
							
							 
							
							
							
						 
						
							2009-09-12 22:20:13 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								dd661edf46 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: convert /i of a positive integer by a power of two into a shift  
							
							 
							
							
							
						 
						
							2009-09-11 21:03:11 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7f2e2b1777 
								
							
								 
							
						 
						
							
							
								
								Specialized array overhaul  
							
							 
							
							... 
							
							
							
							- Replace hand-written specialized-arrays.* subvocabularies with new system; instead of USE:ing specialized-arrays.T, do SPECIALIZED-ARRAY: T
- Ditto for specialized-vectors; use SPECIALIZED-VECTOR:
- io.mmap.functor: removed entirely, use <mapped-array> instead
- struct-arrays and struct-vectors have been removed because specialized arrays and vectors subsume them entirely 
							
						 
						
							2009-09-09 22:33:34 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a0e1af5891 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-09-08 14:22:52 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1e5bc3b376 
								
							
								 
							
						 
						
							
							
								
								inline alien-vector and set-alien-vector if SIMD is not available for a small speedup  
							
							 
							
							
							
						 
						
							2009-09-08 13:56:17 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								942fb7b048 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-09-08 13:22:52 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								bbca00e2ae 
								
							
								 
							
						 
						
							
							
								
								Fix conflicts  
							
							 
							
							
							
						 
						
							2009-09-07 23:51:25 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								9f9b6bca01 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: type check inputs to unsafe foldable words manually, so that stuff like [ "Hi" { } fixnum+fast ] doesn't crash in the compiler  
							
							 
							
							
							
						 
						
							2009-09-07 23:40:23 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a1ae209f81 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.call-effect: stronger call( inlining; now can inline 'a [ b ] curry call(' where 'a' is literal, [ b ] doesn't infer, but [ a b ] does infer. This simplifies classes.struct:memory>struct  
							
							 
							
							
							
						 
						
							2009-09-07 17:45:03 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e36a0d7ef4 
								
							
								 
							
						 
						
							
							
								
								compiler: clean up code generation for alien boxing/unboxing a bit  
							
							 
							
							
							
						 
						
							2009-09-03 21:22:43 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								4d5a4222b6 
								
							
								 
							
						 
						
							
							
								
								More SIMD work  
							
							 
							
							... 
							
							
							
							- Rename SIMD types and register representations: <type>-<count> rather than <count><type>-array
- Make a functor to define 256-bit vector types, use it to define float-8 type
- Make SIMD instructions pure-insns so that they participate in value numbering 
							
						 
						
							2009-09-03 20:58:56 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								bf81cb4259 
								
							
								 
							
						 
						
							
							
								
								math.vectors.simd: split off intrinsics into a sub-vocabulary, to avoid loading most of the SIMD code on bootstrap  
							
							 
							
							
							
						 
						
							2009-09-03 03:43:43 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ae051e0c9a 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: type function for clone had an issue, sometimes clone would get optimized out because of incorrect constant folding  
							
							 
							
							
							
						 
						
							2009-09-03 02:40:18 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ff8c70dbe0 
								
							
								 
							
						 
						
							
							
								
								Initial implementation of SSE vector intrinsics:  
							
							 
							
							... 
							
							
							
							- cpu.architecture: add SSE vector representations
- compiler.cfg.intrinsics.alien: remove an attempt at optimization that value numbering handles now
- compiler.cfg.representations: support instructions where the representation is set in the 'rep' slot, and support conversions between single and double floats
- alien-float, set-alien-float now use the single float representation, and the conversion is implicit; this fixes a long-standing bug where a register could get clobbered because of how %set-alien-float was defined on x86
- math.vectors.specialization: add support for SIMD specialization (where the vector word's body is replaced by another quotation), also specialize the 'sum' word
- math.vectors.simd: 4float-array, 2double-array, 4double-array types, and specializers for the math.vectors words 
							
						 
						
							2009-09-03 02:33:07 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2bb6293217 
								
							
								 
							
						 
						
							
							
								
								compiler: add fixnum-min/max intrinsics; ~10% speedup on benchmark.yuv-to-rgb  
							
							 
							
							
							
						 
						
							2009-08-28 19:02:59 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d957ae4e44 
								
							
								 
							
						 
						
							
							
								
								Performance improvements to make struct-arrays benchmark faster  
							
							 
							
							... 
							
							
							
							- improved optimization of ##unbox-any-c-ptr on ##box-displaced-alien; convert it to ##unbox-c-ptr where possible using class info stored in the ##bda instruction
- make fcos, fsin, etc inline again; everything in math.libm inline again, except for fsqrt which is an intrinsic
- convert min and max on floats to float-min and float-max
- make min and max not inline, so that the above can work
- struct-arrays: rice a bit so that more fixnums come up 
							
						 
						
							2009-08-28 05:21:16 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ba0f3a9911 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.transforms: don't fail to compile if 'at' called on something that's not an assoc  
							
							 
							
							
							
						 
						
							2009-08-27 18:57:56 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0df8aadce2 
								
							
								 
							
						 
						
							
							
								
								cpu.x86: use SQRTSD instruction for math.libm:fsqrt word  
							
							 
							
							
							
						 
						
							2009-08-25 23:22:15 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								49bd2228ec 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.modular-arithmetic: fix regression; set-alien-*-1 was not always open-coded  
							
							 
							
							
							
						 
						
							2009-08-20 17:56:49 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								9ef8f6c81d 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.modular-arithmetic: eliminate >bignum calls where possible, convert fixnum-shift to fixnum-shift-fast if shift count is positive, don't run if there are no modular values  
							
							 
							
							
							
						 
						
							2009-08-20 03:47:45 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f01f7ad6eb 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: bitand custom inlining was wrong if the second input was a bignum  
							
							 
							
							
							
						 
						
							2009-08-20 03:47:07 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2dc99ea05f 
								
							
								 
							
						 
						
							
							
								
								Fix interval inference of abs, absq when input is a complex number  
							
							 
							
							
							
						 
						
							2009-08-19 16:06:37 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d7594c3381 
								
							
								 
							
						 
						
							
							
								
								compiler: inline singleton predicates, and optimize predicate engines, reduces terrain demo deployed size by ~20kb  
							
							 
							
							
							
						 
						
							2009-08-17 23:59:24 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								3047d4a451 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: remove method inlining heuristic  
							
							 
							
							
							
						 
						
							2009-08-17 22:29:05 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								bf57d78b09 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.modular-arithmetic: >fixnum elimination and value info annotations were too aggressive  
							
							 
							
							
							
						 
						
							2009-08-17 01:20:25 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								5297be3e19 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.modular-arithmetic: stronger optimization handles > 1 usages case as well as values defined and used in loops. Eliminates 5 out of 8 >fixnum calls in benchmark.yuv-to-rgb  
							
							 
							
							
							
						 
						
							2009-08-15 18:42:41 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								7c92ab1ea5 
								
							
								 
							
						 
						
							
							
								
								move if-zero etc to math, remove 1-/1+ from math  
							
							 
							
							
							
						 
						
							2009-08-14 14:27:23 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								4ecf5a904a 
								
							
								 
							
						 
						
							
							
								
								More accurate wrap-interval in compiler.tree.propagation.info fixes test regression; constructing an interval with endpoints at infinity now outputs full-interval  
							
							 
							
							
							
						 
						
							2009-08-12 03:25:53 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								422dd24bad 
								
							
								 
							
						 
						
							
							
								
								alien.complex: fix tests  
							
							 
							
							
							
						 
						
							2009-08-11 14:07:33 -05:00  
						
					 
				
					
						
							
							
								 
								Philipp Brüschweiler
							
						 
						
							 
							
							
							
								
							
								26859a45eb 
								
							
								 
							
						 
						
							
							
								
								various doc fixes  
							
							 
							
							
							
						 
						
							2009-08-11 16:58:47 +02:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								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
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								61ea749bb6 
								
							
								 
							
						 
						
							
							
								
								More accurate interval-mod and interval-rem  
							
							 
							
							
							
						 
						
							2009-08-08 22:01:12 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								97ec3ea1b4 
								
							
								 
							
						 
						
							
							
								
								compiler.graphviz: add high-level IR call graph rendering  
							
							 
							
							
							
						 
						
							2009-08-05 03:33:06 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								fb03a93763 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.recursive: have to check tail call flag of call tree edges too  
							
							 
							
							
							
						 
						
							2009-08-05 02:14:49 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c3d60e5899 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.recursive: more accurate loop detection  
							
							 
							
							
							
						 
						
							2009-08-04 19:18:40 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								eed4f4dcfc 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.recursive: add some more more loop detection tests  
							
							 
							
							
							
						 
						
							2009-08-04 16:23:14 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								82c1106945 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.ssa.destruction: new implementation: simpler and more correct  
							
							 
							
							
							
						 
						
							2009-08-02 10:26:52 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e01fc93812 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.call-effect: fix case where quotation inlining could enter an infinite loop: [ dup call( quot -- ) ] dup call( quot -- ) etc  
							
							 
							
							
							
						 
						
							2009-08-01 23:34:14 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								501629cf75 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.info: fix load error  
							
							 
							
							
							
						 
						
							2009-07-27 00:30:24 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								fc41140720 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.utilities: move value-info utilities to compiler.tree.propagation.info  
							
							 
							
							
							
						 
						
							2009-07-26 21:10:33 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								343151fd62 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.finalization: undo a change that resulted in a compile time regression  
							
							 
							
							
							
						 
						
							2009-07-18 03:33:24 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								5061db2a48 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: Move tail call optimization to the end, compiler.tree: simplify finalization pass because of this  
							
							 
							
							
							
						 
						
							2009-07-17 22:57:28 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1d735bc32d 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.transforms: fix shift transform  
							
							 
							
							
							
						 
						
							2009-07-17 00:02:57 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								3fb4fc1bde 
								
							
								 
							
						 
						
							
							
								
								Improve code generation for shift word: add intrinsics for fixnum-shift-fast in the case where the shift count is not constant, transform 1 swap shift into a more overflow check with open-coded fast case, transform bitand into fixnum-bitand in more cases  
							
							 
							
							
							
						 
						
							2009-07-16 23:50:48 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e76dce8aff 
								
							
								 
							
						 
						
							
							
								
								Overflowing fixnum intrinsics now expand into several CFG nodes. This speeds up the common case since only the uncommon case is now a stack syncpoint  
							
							 
							
							
							
						 
						
							2009-07-16 18:29:40 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								062e33f8fb 
								
							
								 
							
						 
						
							
							
								
								fixing stupid bug in propagation  
							
							 
							
							
							
						 
						
							2009-07-16 00:43:54 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								bb06facb01 
								
							
								 
							
						 
						
							
							
								
								new is inlined in the propagation pass when the class is known  
							
							 
							
							
							
						 
						
							2009-07-14 14:16:39 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								47500fad06 
								
							
								 
							
						 
						
							
							
								
								call( and execute( inline known quotations/words in the propagation pass  
							
							 
							
							
							
						 
						
							2009-07-14 01:12:45 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								4b29d13fda 
								
							
								 
							
						 
						
							
							
								
								Adding authors to compiler.tree.modular-arithmetic  
							
							 
							
							
							
						 
						
							2009-07-09 23:09:49 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								cf3038b7d6 
								
							
								 
							
						 
						
							
							
								
								Improving modular arithmetic optimization to be aware of words like set-alien-unsigned-2  
							
							 
							
							
							
						 
						
							2009-07-09 23:07:38 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e0d84eb3a2 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: better length propagation  
							
							 
							
							
							
						 
						
							2009-07-09 02:28:30 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0180209f4e 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.dead-code: methods on flushable generics should be flushable  
							
							 
							
							
							
						 
						
							2009-07-03 21:31:26 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								41f48e3cfe 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.optimizer: Remove redundant call to compute-def-use  
							
							 
							
							
							
						 
						
							2009-07-01 17:41:20 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								29327a787c 
								
							
								 
							
						 
						
							
							
								
								Remove initial-quot feature  
							
							 
							
							
							
						 
						
							2009-06-15 13:07:15 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								285c8cecc6 
								
							
								 
							
						 
						
							
							
								
								Add some failing unit tests exposing bugs in initial-quot: implementation  
							
							 
							
							
							
						 
						
							2009-06-13 18:34:27 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								55f2185532 
								
							
								 
							
						 
						
							
							
								
								add an iota  
							
							 
							
							
							
						 
						
							2009-06-10 09:45:48 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								9e987e8642 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into global_optimization  
							
							 
							
							
							
						 
						
							2009-06-01 03:12:32 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7b88756fd0 
								
							
								 
							
						 
						
							
							
								
								Add a with-scope so that optimize-tree doesn't pollute namespace  
							
							 
							
							
							
						 
						
							2009-05-27 18:58:54 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								407377fc98 
								
							
								 
							
						 
						
							
							
								
								rename peek -> last and update all usages  
							
							 
							
							
							
						 
						
							2009-05-25 16:38:33 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								a54c78007b 
								
							
								 
							
						 
						
							
							
								
								add a clamp word to math.order, use clamp word throughout libraries  
							
							 
							
							
							
						 
						
							2009-05-24 21:35:50 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								43a1834e0b 
								
							
								 
							
						 
						
							
							
								
								stack-checker: fix case where invalid code could infer  
							
							 
							
							
							
						 
						
							2009-05-23 15:50:35 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								3276ae3a08 
								
							
								 
							
						 
						
							
							
								
								get rid of useless test  
							
							 
							
							
							
						 
						
							2009-05-21 20:56:57 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								66a9416473 
								
							
								 
							
						 
						
							
							
								
								Update documentation for stricter vocabulary search path semantics  
							
							 
							
							
							
						 
						
							2009-05-16 00:29:21 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								dedbd14945 
								
							
								 
							
						 
						
							
							
								
								Fix escape analysis bug reported by Doug  
							
							 
							
							
							
						 
						
							2009-05-15 17:18:38 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								fb6df472a2 
								
							
								 
							
						 
						
							
							
								
								Cleaning up USING: lists for new strict semantics  
							
							 
							
							
							
						 
						
							2009-05-14 16:54:16 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								b67b617746 
								
							
								 
							
						 
						
							
							
								
								Fix compiler breakage if a GENERIC# has an incorrect stack effect declaration  
							
							 
							
							
							
						 
						
							2009-05-12 21:23:52 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								65faa3fda3 
								
							
								 
							
						 
						
							
							
								
								Fix unit tests and load errors for slip removal  
							
							 
							
							
							
						 
						
							2009-05-10 17:03:41 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								75d9946bd7 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.modular-arithmetic: convert >integer >fixnum into >fixnum  
							
							 
							
							
							
						 
						
							2009-05-07 12:54:23 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								029d93a838 
								
							
								 
							
						 
						
							
							
								
								Make walker work better with call( and breakpoints which are nested inside combinators  
							
							 
							
							
							
						 
						
							2009-05-05 09:12:32 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f2ec59d658 
								
							
								 
							
						 
						
							
							
								
								Fix infinite loop when compiling a word containing a tuple literal with circular structure in it. This was triggered by call( inline caching in core-foundation.fsevents on Mac OS X  
							
							 
							
							
							
						 
						
							2009-05-01 09:36:53 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e5cdb7ac2d 
								
							
								 
							
						 
						
							
							
								
								call( fast-path now supports curry and compose  
							
							 
							
							
							
						 
						
							2009-04-30 21:08:29 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								964fbd0a24 
								
							
								 
							
						 
						
							
							
								
								Fix test failures from ratio/complex built-in removal  
							
							 
							
							
							
						 
						
							2009-04-30 00:38:55 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								663db67b23 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.debugger: wasn't counting intrinsics properly when computing report  
							
							 
							
							
							
						 
						
							2009-04-30 00:27:51 -05:00