Slava Pestov
							
						 
						
							 
							
							
							
								
							
								8d3c11c176 
								
							
								 
							
						 
						
							
							
								
								compiler: remove some unnecessary complexity  
							
							 
							
							
							
						 
						
							2010-02-04 01:36:52 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c011380a19 
								
							
								 
							
						 
						
							
							
								
								compiler: tweak recompilation logic. speeds up '"terrain" require' by 8 seconds  
							
							 
							
							
							
						 
						
							2010-02-04 01:09:57 +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
							
						 
						
							 
							
							
							
								
							
								3259ef4bec 
								
							
								 
							
						 
						
							
							
								
								vm: modify-code-heap primitive now takes a pair of parameters, update-existing? and reset-pics?. If no generic words were changed, PICs do not need to be reset. If no existing words were redefined, the code heap doesn't have to be traced at all. Speeds up compilation of PEGs since those create lots of compilation units  
							
							 
							
							
							
						 
						
							2010-02-03 23:11:28 +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
							
						 
						
							 
							
							
							
								
							
								bf05a901c4 
								
							
								 
							
						 
						
							
							
								
								Fix ffi-test library to work with Windows SDK. Turns out MINGW has a different ABI for struct returns than MS's compiler; make the MS ABI the default for cdecl on Windows, and add mingw ABI for libraries that use the MINGW ABI  
							
							 
							
							
							
						 
						
							2010-02-02 04:01:12 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e7de95e72b 
								
							
								 
							
						 
						
							
							
								
								compiler.crossref: clean up and fix bug with forgotten classes  
							
							 
							
							
							
						 
						
							2010-02-01 17:20:08 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								8432f4c459 
								
							
								 
							
						 
						
							
							
								
								Fix a couple of unit tests that were relying on the old compiler crossref structures  
							
							 
							
							
							
						 
						
							2010-01-31 23:26:55 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c5c94ef1f9 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.intrinsics.simd: ignore dummy assert-positive word  
							
							 
							
							
							
						 
						
							2010-01-31 18:19:14 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								5ed0bc72aa 
								
							
								 
							
						 
						
							
							
								
								Merge git://github.com/littledan/Factor into littledan  
							
							 
							
							
							
						 
						
							2010-01-31 02:54:58 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2c63161c84 
								
							
								 
							
						 
						
							
							
								
								stack-checker.dependencies: make conditional dependencies more robust  
							
							 
							
							
							
						 
						
							2010-01-31 01:55:35 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								9bc4e662c6 
								
							
								 
							
						 
						
							
							
								
								compiler.crossref: word props were stored the wrong way round  
							
							 
							
							
							
						 
						
							2010-01-30 22:33:27 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								6eceff6acb 
								
							
								 
							
						 
						
							
							
								
								compiler.crossref: cleanup  
							
							 
							
							
							
						 
						
							2010-01-30 21:14:40 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ea9dbf2ea1 
								
							
								 
							
						 
						
							
							
								
								compiler.crossref: more space-efficient storage of dependency information  
							
							 
							
							
							
						 
						
							2010-01-30 09:29:02 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								fa4f7d8ccf 
								
							
								 
							
						 
						
							
							
								
								Clean up some code in preparation for a refactoring  
							
							 
							
							
							
						 
						
							2010-01-30 09:29:02 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								015a9d365d 
								
							
								 
							
						 
						
							
							
								
								compiler.crossref: memoize dependency evaluation  
							
							 
							
							
							
						 
						
							2010-01-30 09:29:01 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a13c2fb856 
								
							
								 
							
						 
						
							
							
								
								compiler.crosssref: rename word property  
							
							 
							
							
							
						 
						
							2010-01-30 09:29:00 +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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								bd479db2f8 
								
							
								 
							
						 
						
							
							
								
								Fix regression when forgetting classes  
							
							 
							
							
							
						 
						
							2010-01-30 09:28:55 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								830e25c70b 
								
							
								 
							
						 
						
							
							
								
								More changes so that mixins trigger even less recompilation  
							
							 
							
							
							
						 
						
							2010-01-30 09:28:53 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d58f73453f 
								
							
								 
							
						 
						
							
							
								
								Add test case for mixin bug Doug found, seems to be fixed now  
							
							 
							
							
							
						 
						
							2010-01-30 09:28:52 +13:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								19d551a544 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2010-01-26 14:14:05 -06:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								52f2ac2bb9 
								
							
								 
							
						 
						
							
							
								
								Tests for propagation additions; making fixnum-bit? inline  
							
							 
							
							
							
						 
						
							2010-01-25 20:15:17 -06:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								afdb7f6329 
								
							
								 
							
						 
						
							
							
								
								remove a stray character  
							
							 
							
							
							
						 
						
							2010-01-22 15:07:01 -06:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								8c1d202b4c 
								
							
								 
							
						 
						
							
							
								
								Rename accumulator to collector, pusher to selector  
							
							 
							
							
							
						 
						
							2010-01-22 15:00:53 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								098ef42202 
								
							
								 
							
						 
						
							
							
								
								compiler: fix docs  
							
							 
							
							
							
						 
						
							2010-01-23 00:46:04 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ea5e168d77 
								
							
								 
							
						 
						
							
							
								
								compiler.test: fix  
							
							 
							
							
							
						 
						
							2010-01-23 00:40:56 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f804c9c422 
								
							
								 
							
						 
						
							
							
								
								Move compile-call and related words only meant to be used for debugging to compiler.test  
							
							 
							
							
							
						 
						
							2010-01-23 00:39:56 +13: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
							
						 
						
							 
							
							
							
								
							
								5606825e8b 
								
							
								 
							
						 
						
							
							
								
								vm: remove primitive table, non-optimizing compiler now looks up primitives with dlsym()  
							
							 
							
							
							
						 
						
							2010-01-19 20:00:33 +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
							
						 
						
							 
							
							
							
								
							
								637a77c018 
								
							
								 
							
						 
						
							
							
								
								Stop wearing monocle and use the term "entry point" instead of "XT" throughout VM and compiler; also remove two unused relocation types  
							
							 
							
							
							
						 
						
							2010-01-18 20:54:00 +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
							
						 
						
							 
							
							
							
								
							
								7155447aed 
								
							
								 
							
						 
						
							
							
								
								stack-checker: add inputs and outputs words, since 'infer (in>>|out>>) length' was coming up a lot  
							
							 
							
							
							
						 
						
							2010-01-15 08:04:14 +13:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								4c71d71907 
								
							
								 
							
						 
						
							
							
								
								random is generic now -- iota random -> random  
							
							 
							
							
							
						 
						
							2010-01-14 12:48:57 -06: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
							
						 
						
							 
							
							
							
								
							
								ce2487e6c0 
								
							
								 
							
						 
						
							
							
								
								compiler.codegen.fixup: cache symbol names, reducing image size by ~200Kb  
							
							 
							
							
							
						 
						
							2010-01-13 23:18:43 +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
							
						 
						
							 
							
							
							
								
							
								1c10196c43 
								
							
								 
							
						 
						
							
							
								
								Rename kernel.private:getenv/setenv to special-object/set-special-object to mirror recent renaming on the VM side  
							
							 
							
							
							
						 
						
							2010-01-13 18:08:18 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								988c8d0601 
								
							
								 
							
						 
						
							
							
								
								More PowerPC non-optimizing compiler backend fixes  
							
							 
							
							
							
						 
						
							2010-01-13 03:09:43 +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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								47c6197799 
								
							
								 
							
						 
						
							
							
								
								Update x86-32 for assembly entry point changes  
							
							 
							
							
							
						 
						
							2010-01-06 17:55:20 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								36d2ac8921 
								
							
								 
							
						 
						
							
							
								
								vm: move c_to_factor, lazy_jit_compile_impl, throw_impl, set_callstack assembly routines into non-optimizing compiler for x86-64  
							
							 
							
							
							
						 
						
							2010-01-06 15:47:36 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ba5b90e063 
								
							
								 
							
						 
						
							
							
								
								Change how non-volatile register preservation is done in alien callbacks, with the aim of fixing callbacks on PowerPC, and to eventually eliminate assembly code from VM  
							
							 
							
							... 
							
							
							
							- Simplify calculation of offset in relocation table
- Open-code %alien-callback
- Remove magic_frame hack from context objects
- Move magical return instruction from optimizing compiler backend into callback entry stub 
							
						 
						
							2010-01-03 01:11:51 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e96404327e 
								
							
								 
							
						 
						
							
							
								
								Get optimizing compiler working without global register variables in VM  
							
							 
							
							
							
						 
						
							2009-12-22 15:42:49 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0068bce934 
								
							
								 
							
						 
						
							
							
								
								vm: big overhaul of non-optimizing compiler  
							
							 
							
							... 
							
							
							
							- change some primitives into sub-primitives: fixnum+ fixnum- fixnum* inline-cache-miss inline-cache-miss-tail
- rename some relocation types for clarity
- some other minor re-organizations and cleanups 
							
						 
						
							2009-12-15 07:20:09 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								3e40a36c50 
								
							
								 
							
						 
						
							
							
								
								fix simd tests  
							
							 
							
							
							
						 
						
							2009-12-05 17:17:16 -08: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
							
						 
						
							 
							
							
							
								
							
								412b9d0c7a 
								
							
								 
							
						 
						
							
							
								
								change compiler.cfg.intrinsics.simd tests to not use types and operations that depend on host cell size  
							
							 
							
							
							
						 
						
							2009-12-04 13:23:31 -08:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								63b89c65f9 
								
							
								 
							
						 
						
							
							
								
								don't use intrinsics for simd vector element operations when the component size doesn't fit in a fixnum  
							
							 
							
							
							
						 
						
							2009-12-03 12:46:56 -08:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								73eb4c4531 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'simd-cleanup' of git://factorcode.org/git/factor into simd-cleanup  
							
							 
							
							
							
						 
						
							2009-12-02 19:09:56 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								eb840dcf41 
								
							
								 
							
						 
						
							
							
								
								RT_HERE now takes its argument from the literal table rather than the parameter table, reducing image size further  
							
							 
							
							
							
						 
						
							2009-12-02 04:55:48 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								68c09f0e93 
								
							
								 
							
						 
						
							
							
								
								Split literal table into literal and parameter tables, literal table is discarded after code block initialization  
							
							 
							
							
							
						 
						
							2009-12-02 04:28:15 -06: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
							
						 
						
							 
							
							
							
								
							
								c916c7c856 
								
							
								 
							
						 
						
							
							
								
								don't try to rewrite redundant test-vector-exprs  
							
							 
							
							
							
						 
						
							2009-11-25 20:06:11 -08:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								bd02eef38e 
								
							
								 
							
						 
						
							
							
								
								Fix non-tail recursive inline recursive compilation  
							
							 
							
							
							
						 
						
							2009-11-25 19:12:09 -06:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								50f7dff422 
								
							
								 
							
						 
						
							
							
								
								change name of 'unsign-rep' to more sensible 'signed-rep'  
							
							 
							
							
							
						 
						
							2009-11-24 22:44:12 -08:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								c98eb84943 
								
							
								 
							
						 
						
							
							
								
								make math.vectors.simd tests pass again  
							
							 
							
							
							
						 
						
							2009-11-24 18:30:12 -08:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								9c388bf781 
								
							
								 
							
						 
						
							
							
								
								update compiler.cfg.intrinsics.simd tests  
							
							 
							
							
							
						 
						
							2009-11-24 12:50:27 -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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0612bc6177 
								
							
								 
							
						 
						
							
							
								
								Factor source files should not be executable  
							
							 
							
							
							
						 
						
							2009-11-21 17:50:43 -06: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  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								59d85f7ad6 
								
							
								 
							
						 
						
							
							
								
								fix primitive emit fallback for simd intrinsics  
							
							 
							
							
							
						 
						
							2009-11-18 21:29:51 -08:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								a3e4ecfc7d 
								
							
								 
							
						 
						
							
							
								
								enable simd intrinsics and fix first-pass compiler errors  
							
							 
							
							
							
						 
						
							2009-11-18 20:32:05 -08:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								6583875055 
								
							
								 
							
						 
						
							
							
								
								tests for all simd intrinsics  
							
							 
							
							
							
						 
						
							2009-11-18 18:20:58 -08:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								f545c5d3e5 
								
							
								 
							
						 
						
							
							
								
								properly handle -vector-op and case words in simd.backend  
							
							 
							
							
							
						 
						
							2009-11-18 12:36:41 -08:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								cd2cf91b95 
								
							
								 
							
						 
						
							
							
								
								start on tests for simd intrinsics  
							
							 
							
							
							
						 
						
							2009-11-17 11:13:16 -08:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e30d275e41 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: 'basic-block new hashcode' should not throw an exception; fixes tools.deploy.test.11  
							
							 
							
							
							
						 
						
							2009-11-16 02:01:36 -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
							
						 
						
							 
							
							
							
								
							
								d56afe9c3d 
								
							
								 
							
						 
						
							
							
								
								compilation fixes  
							
							 
							
							
							
						 
						
							2009-11-14 23:43:22 -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  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								e323071c44 
								
							
								 
							
						 
						
							
							
								
								sever lingering dependencies on simd from compiler  
							
							 
							
							
							
						 
						
							2009-11-11 16:08:40 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								41c17f0429 
								
							
								 
							
						 
						
							
							
								
								Fixing test failures  
							
							 
							
							
							
						 
						
							2009-11-11 02:40:24 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2afd7ce244 
								
							
								 
							
						 
						
							
							
								
								Faster identity-hashcode primitive; fast path now opencoded by the compiler  
							
							 
							
							
							
						 
						
							2009-11-11 02:27:19 -06:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								eac9bacf40 
								
							
								 
							
						 
						
							
							
								
								backend for choosing available SIMD intrinsic implementations  
							
							 
							
							
							
						 
						
							2009-11-10 23:35:46 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								064c00f78d 
								
							
								 
							
						 
						
							
							
								
								New identity-hashcode primitive  
							
							 
							
							
							
						 
						
							2009-11-10 21:18:54 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								19283ed83d 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.intrinsics.slots: new implementation of value-tag  
							
							 
							
							
							
						 
						
							2009-11-10 17:30:27 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								473cc7db4a 
								
							
								 
							
						 
						
							
							
								
								stack-checker: tighten some screws in error reporting  
							
							 
							
							
							
						 
						
							2009-11-09 00:17:24 -06:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								788289e51e 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into simd-cleanup  
							
							 
							
							
							
						 
						
							2009-11-08 21:54:53 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								cd2e226afa 
								
							
								 
							
						 
						
							
							
								
								stack-checker: split off stack-checker.dependencies from stack-checker.state  
							
							 
							
							
							
						 
						
							2009-11-08 20:34:46 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								da041a0175 
								
							
								 
							
						 
						
							
							
								
								compiler.crossref: fix bugs  
							
							 
							
							
							
						 
						
							2009-11-08 06:22:39 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								5d79450d9d 
								
							
								 
							
						 
						
							
							
								
								Use a more compact representation for "compiled-uses" and "compiled-generic-uses" word-props; reduces image size  
							
							 
							
							
							
						 
						
							2009-11-08 06:08:04 -06:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								8894e9047c 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into simd-cleanup  
							
							 
							
							
							
						 
						
							2009-11-07 22:26:09 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								279d1169d2 
								
							
								 
							
						 
						
							
							
								
								compiler: fix alien tests  
							
							 
							
							
							
						 
						
							2009-11-06 01:04:02 -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
							
						 
						
							 
							
							
							
								
							
								4d54f27cd1 
								
							
								 
							
						 
						
							
							
								
								more intrinsic madness  
							
							 
							
							
							
						 
						
							2009-11-05 09:52:57 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								8c4ad9bf18 
								
							
								 
							
						 
						
							
							
								
								compiler: fix intrinsics tests on 32-bit  
							
							 
							
							
							
						 
						
							2009-11-04 18:28:46 -06:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								f6643a1c72 
								
							
								 
							
						 
						
							
							
								
								change ##horizontal-add-vector insn to better match what the HADD SSE instructions do (add adjacent pairs, pack results)  
							
							 
							
							
							
						 
						
							2009-11-04 12:18:01 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								3c4c05e915 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.intrinsics.allot: fix inline byte array allocation on 32-bit platforms  
							
							 
							
							
							
						 
						
							2009-11-03 23:44:20 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								109aa88b06 
								
							
								 
							
						 
						
							
							
								
								compiler: update unit tests for 4-bit tag change  
							
							 
							
							
							
						 
						
							2009-11-03 21:40:29 -06:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								bd77633d5b 
								
							
								 
							
						 
						
							
							
								
								new intrinsic generators, pt1  
							
							 
							
							
							
						 
						
							2009-11-03 21:38:45 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								51e9a891a8 
								
							
								 
							
						 
						
							
							
								
								cpu.x86: update %box-displaced-alien for introduction of address field  
							
							 
							
							
							
						 
						
							2009-11-03 03:17:43 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								91ccc30a54 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into new_gc  
							
							 
							
							
							
						 
						
							2009-11-02 20:34:13 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0a15ae4d6b 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.intrinsics: uncomment line commented out by mistake  
							
							 
							
							
							
						 
						
							2009-11-02 20:33:14 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								495f776d54 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into new_gc  
							
							 
							
							
							
						 
						
							2009-11-02 20:11:43 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								8bd2273e44 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: don't generate useless methods in instruction meta-programming. reduces bootstrap time  
							
							 
							
							
							
						 
						
							2009-11-02 20:11:29 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a3b5c07e80 
								
							
								 
							
						 
						
							
							
								
								Minor bug fixes for 4-bit tags  
							
							 
							
							
							
						 
						
							2009-11-02 17:41:36 -06:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								e36eb438fa 
								
							
								 
							
						 
						
							
							
								
								move all simd intrinsics to compiler.cfg.intrinsics.simd, and only load it when math.vectors.simd is loaded  
							
							 
							
							
							
						 
						
							2009-11-02 15:17:34 -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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								37abac7407 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into new_gc  
							
							 
							
							
							
						 
						
							2009-10-30 21:04:37 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								3f15e028f7 
								
							
								 
							
						 
						
							
							
								
								exile roll and -roll to basis/shuffle and mark them deprecated  
							
							 
							
							
							
						 
						
							2009-10-30 17:11:45 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								6f9336c29e 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into new_gc  
							
							 
							
							
							
						 
						
							2009-10-30 03:03:05 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								1cf45abf06 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-10-30 00:42:37 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								b858860a67 
								
							
								 
							
						 
						
							
							
								
								add ##shl-vector-imm and ##shr-vector-imm insn variants. use merge/shr instead of compare/merge to do signed unpacks  
							
							 
							
							
							
						 
						
							2009-10-30 00:41:19 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								1d12a6707d 
								
							
								 
							
						 
						
							
							
								
								sigma -> map-sum  
							
							 
							
							
							
						 
						
							2009-10-29 14:34:04 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								17f0a5d41a 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-10-28 17:26:23 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								e376a0ece2 
								
							
								 
							
						 
						
							
							
								
								(normalize-path) -> absolute-path, canonicalize-path -> resolve-symlinks  
							
							 
							
							
							
						 
						
							2009-10-28 17:25:50 -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  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								6e1bffb1c5 
								
							
								 
							
						 
						
							
							
								
								update existing code to use :> ( ) when possible  
							
							 
							
							
							
						 
						
							2009-10-28 16:11:33 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								bd13e018dd 
								
							
								 
							
						 
						
							
							
								
								memq? -> member-eq?, sorted-memq? -> sorted-member-eq?  
							
							 
							
							
							
						 
						
							2009-10-28 15:02:00 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								1476cdb974 
								
							
								 
							
						 
						
							
							
								
								reverse-here -> reverse!  
							
							 
							
							
							
						 
						
							2009-10-28 14:40:15 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								7ce4b746e5 
								
							
								 
							
						 
						
							
							
								
								parsed -> suffix!, add append!  
							
							 
							
							
							
						 
						
							2009-10-28 13:38:27 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								2ecf3fb568 
								
							
								 
							
						 
						
							
							
								
								fix load errors from bootstrapping  
							
							 
							
							
							
						 
						
							2009-10-28 12:51:03 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								299b5b0f6c 
								
							
								 
							
						 
						
							
							
								
								filter-here -> filter!  
							
							 
							
							
							
						 
						
							2009-10-28 00:44:05 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								50f5c3d116 
								
							
								 
							
						 
						
							
							
								
								remq -> remove-eq, delq -> remove-eq!  
							
							 
							
							
							
						 
						
							2009-10-28 00:23:08 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								951e3e9c83 
								
							
								 
							
						 
						
							
							
								
								delete-nth -> remove-nth!  
							
							 
							
							
							
						 
						
							2009-10-27 23:41:57 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								08e7d25dc5 
								
							
								 
							
						 
						
							
							
								
								change-each -> map!, deep-change-each -> deep-map!  
							
							 
							
							
							
						 
						
							2009-10-27 22:32:56 -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
							
						 
						
							 
							
							
							
								
							
								9abe29bebc 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into new_gc  
							
							 
							
							
							
						 
						
							2009-10-24 01:31:15 -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
							
						 
						
							 
							
							
							
								
							
								64ff812611 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into new_gc  
							
							 
							
							
							
						 
						
							2009-10-23 03:56:46 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e8fd85437b 
								
							
								 
							
						 
						
							
							
								
								compiler: fix stack effect inference bug discovered by x6j8x; it was possible to define a word which did not compile but could be called anyway  
							
							 
							
							
							
						 
						
							2009-10-23 03:27:25 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								3394309659 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into new_gc  
							
							 
							
							
							
						 
						
							2009-10-22 05:40:57 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								c3b8847936 
								
							
								 
							
						 
						
							
							
								
								update a bunch of alien-callbacks and alien-indirects to use c-type words  
							
							 
							
							
							
						 
						
							2009-10-21 21:10:11 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								7fac3682a6 
								
							
								 
							
						 
						
							
							
								
								update some naked alien-invokes to use c-type words  
							
							 
							
							
							
						 
						
							2009-10-21 18:44:00 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								8a6b0a1453 
								
							
								 
							
						 
						
							
							
								
								generate unsigned vector comparison fallbacks using min/max or xor/signed compare  
							
							 
							
							
							
						 
						
							2009-10-20 22:30:57 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								cb36111a3c 
								
							
								 
							
						 
						
							
							
								
								generate better fallback code for vmin/vmax intrinsics  
							
							 
							
							
							
						 
						
							2009-10-20 19:22:38 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								6f72c3ca24 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-10-20 17:42:29 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								764e085004 
								
							
								 
							
						 
						
							
							
								
								value numbering rewrite rules for vector ops to convert "not and" to "andn" and "not andn" to "and"  
							
							 
							
							
							
						 
						
							2009-10-20 17:29:01 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d85d84697a 
								
							
								 
							
						 
						
							
							
								
								Change data heap alignment to 16 bytes  
							
							 
							
							
							
						 
						
							2009-10-20 12:45:00 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								18be7e1f37 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.32: only create 16-byte parameter area if the word calls into the VM  
							
							 
							
							
							
						 
						
							2009-10-20 05:02:42 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1e7893b6ce 
								
							
								 
							
						 
						
							
							
								
								compiler: FFI is now slightly more efficient when unboxing parameters, only changes data stack height once  
							
							 
							
							
							
						 
						
							2009-10-20 04:31:48 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								560b6f45cc 
								
							
								 
							
						 
						
							
							
								
								compiler, cpu.x86.32: clean up FFI implementation, in particular 32-bit x86-specific backend  
							
							 
							
							
							
						 
						
							2009-10-20 04:15:10 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								b2592e01c1 
								
							
								 
							
						 
						
							
							
								
								compiler: fix typo in intrinsics tests  
							
							 
							
							
							
						 
						
							2009-10-19 05:16:04 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								6a2434b56c 
								
							
								 
							
						 
						
							
							
								
								compiler: fix low-level-ir test on PowerPC  
							
							 
							
							
							
						 
						
							2009-10-19 05:03:02 -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
							
						 
						
							 
							
							
							
								
							
								448ef2f1d5 
								
							
								 
							
						 
						
							
							
								
								fix unsigned vector unpack  
							
							 
							
							
							
						 
						
							2009-10-16 14:25:33 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								107c96f642 
								
							
								 
							
						 
						
							
							
								
								vm: code heap compaction at runtime using compact-gc primitive  
							
							 
							
							
							
						 
						
							2009-10-16 11:39:35 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d48c72a274 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: fix unit tests  
							
							 
							
							
							
						 
						
							2009-10-15 06:01:46 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7d97c19227 
								
							
								 
							
						 
						
							
							
								
								compiler: tweak ##write-barrier-imm  
							
							 
							
							
							
						 
						
							2009-10-15 02:40:23 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								38d120f92e 
								
							
								 
							
						 
						
							
							
								
								vm: rt-vm relocation now supports accessing a field directly  
							
							 
							
							
							
						 
						
							2009-10-14 19:24:23 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1ce39963fd 
								
							
								 
							
						 
						
							
							
								
								Working on adding support for the new write barrier to optimized code  
							
							 
							
							
							
						 
						
							2009-10-14 02:06:01 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								97ab9dc4ab 
								
							
								 
							
						 
						
							
							
								
								only emit ##alien-vector/##set-alien-vector insns if the rep is available  
							
							 
							
							
							
						 
						
							2009-10-10 12:53:10 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								d9002127fa 
								
							
								 
							
						 
						
							
							
								
								have vshuffle accept simd-128 variable byte shuffles  
							
							 
							
							
							
						 
						
							2009-10-10 11:30:11 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								6816adfeb3 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-10-10 09:17:01 -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
							
						 
						
							 
							
							
							
								
							
								3bc097f6ff 
								
							
								 
							
						 
						
							
							
								
								rename ##shuffle-vector to ##shuffle-vector-imm, and add a new ##shuffle-vector for dynamic shuffles. have vshuffle use ##shuffle-vector to do word and byte shuffles on x86  
							
							 
							
							
							
						 
						
							2009-10-09 21:26:27 -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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								61e1854ca5 
								
							
								 
							
						 
						
							
							
								
								compiler.codegen: fix failing tests  
							
							 
							
							
							
						 
						
							2009-10-09 09:44:09 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								4262781be2 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'bitfields' of git://factorcode.org/git/factor into bitfields  
							
							 
							
							
							
						 
						
							2009-10-09 04:12:34 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								bb93543054 
								
							
								 
							
						 
						
							
							
								
								Another identity in value numbering for bitfields  
							
							 
							
							
							
						 
						
							2009-10-08 15:20:42 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c5979615b7 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into new_gc  
							
							 
							
							
							
						 
						
							2009-10-08 02:29:24 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								2db25b937e 
								
							
								 
							
						 
						
							
							
								
								Doing constant folding on ##neg and ##not in value numbering  
							
							 
							
							
							
						 
						
							2009-10-08 01:57:54 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								eb31589092 
								
							
								 
							
						 
						
							
							
								
								Adding identity to propagation to remove some redundant bitands  
							
							 
							
							
							
						 
						
							2009-10-08 00:59:15 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								dd691a61e8 
								
							
								 
							
						 
						
							
							
								
								break vector compare intrinsics into %compare, %or, and %not instructions that map directly to cpu instructions  
							
							 
							
							
							
						 
						
							2009-10-07 15:27:03 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								f2c9eb79e2 
								
							
								 
							
						 
						
							
							
								
								decompose %unpack-vector-head/tail into %compare-vector/%merge-vector-head/tail or %tail>head-vector/%unpack-vector-head insns when there isn't an actual unpack insn; get rid of fake x86 implementations  
							
							 
							
							
							
						 
						
							2009-10-07 14:09:46 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								fd6f370119 
								
							
								 
							
						 
						
							
							
								
								typo in convert-to-fill-vector?  
							
							 
							
							
							
						 
						
							2009-10-07 12:53:10 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								47cfb7d3a5 
								
							
								 
							
						 
						
							
							
								
								fix ##load-constant/##scalar>vector folding when constant is a fixnum  
							
							 
							
							
							
						 
						
							2009-10-07 12:46:08 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								ea051063a4 
								
							
								 
							
						 
						
							
							
								
								convert all-ones vector ##load-reference/##load-constant to a ##fill-vector insn  
							
							 
							
							
							
						 
						
							2009-10-07 12:35:21 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								34def34481 
								
							
								 
							
						 
						
							
							
								
								don't generate a ##not-vector instruction if the cpu doesn't have one; instead, fall back to a ##fill-vector/##xor-vector combo. get rid of pretend %not-vector in cpu.x86  
							
							 
							
							
							
						 
						
							2009-10-07 11:59:36 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								879fe9a665 
								
							
								 
							
						 
						
							
							
								
								fix x86 %unpack-vector insns  
							
							 
							
							
							
						 
						
							2009-10-06 20:38:51 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								785f8620fd 
								
							
								 
							
						 
						
							
							
								
								glue conversion intrinsics to instructions  
							
							 
							
							
							
						 
						
							2009-10-06 20:13:38 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								697e2342d0 
								
							
								 
							
						 
						
							
							
								
								vm: put code block owner directly in the header, instead of as the first entry in the literal table. Reduces x86-64 image size by ~700kb, also eliminates separate 'strip' set of staging images from deploy tool  
							
							 
							
							
							
						 
						
							2009-10-06 06:25:07 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								fb8eeb6065 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-10-05 22:34:41 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								529c444e32 
								
							
								 
							
						 
						
							
							
								
								add insns for vector pack, unpack, integer>float, and float>integer  
							
							 
							
							
							
						 
						
							2009-10-05 22:34:14 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								55fe25ebd1 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-10-05 18:22:09 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								5b40fc6533 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: fix unit test  
							
							 
							
							
							
						 
						
							2009-10-05 18:21:58 -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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								b4e36608da 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: remove _gc instruction, it doesn't need to exist, and change GC checks to ensure that the right amount of space is available instead of blindly checking for 1Kb  
							
							 
							
							
							
						 
						
							2009-10-05 05:27:49 -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
							
						 
						
							 
							
							
							
								
							
								4e024cbbc2 
								
							
								 
							
						 
						
							
							
								
								extend x86 %compare-vector to cover all comparison codes, sometimes stupidly for now  
							
							 
							
							
							
						 
						
							2009-10-02 23:19:56 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								38f413a8a6 
								
							
								 
							
						 
						
							
							
								
								add intrinsic for vnot/vbitnot  
							
							 
							
							
							
						 
						
							2009-10-02 20:04:28 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								67167cf9ea 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'docs' of git://github.com/klazuka/factor into klazuka  
							
							 
							
							... 
							
							
							
							Conflicts:
	basis/math/vectors/vectors-docs.factor 
							
						 
						
							2009-10-02 15:58:45 -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  
						
					 
				
					
						
							
							
								 
								Keith Lazuka
							
						 
						
							 
							
							
							
								
							
								405e5d015b 
								
							
								 
							
						 
						
							
							
								
								docs: change $subsection to $subsections  
							
							 
							
							
							
						 
						
							2009-10-02 12:15:48 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								cb71fbf4fe 
								
							
								 
							
						 
						
							
							
								
								Fix compiler.cfg.value-numbering and math.matrices.simd unit tests  
							
							 
							
							
							
						 
						
							2009-10-02 02:32:35 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								bcbdc9e0c8 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor into improved-aa  
							
							 
							
							
							
						 
						
							2009-10-02 00:21:44 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								fb09d67936 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.alias-analysis: fix ##compare where operands are copies  
							
							 
							
							
							
						 
						
							2009-10-01 23:54:19 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2a4475f85e 
								
							
								 
							
						 
						
							
							
								
								Fix alias analysis of a ##compare whose input is another ##compare  
							
							 
							
							
							
						 
						
							2009-10-01 23:20:05 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								53b265f682 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							... 
							
							
							
							Conflicts:
	basis/compiler/codegen/codegen.factor 
							
						 
						
							2009-10-01 23:14:16 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								31f39ce32f 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.alias-analysis: optimize ##vm-field-ptr and ##alien-global instructions, and optimize out ##compare between values of different alias classes; this optimizes '[ [ >float ] bi@ [ + ] [ - ] 2bi eq? ]' down to an o-op and removes boxing from '[ [ >float ] bi@ [ + ] [ - ] 2bi = ]'  
							
							 
							
							
							
						 
						
							2009-10-01 23:03:17 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								f9695951a0 
								
							
								 
							
						 
						
							
							
								
								fold test-vector/branch sequences into a test-vector-branch instruction  
							
							 
							
							
							
						 
						
							2009-10-01 19:53:30 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c3d81cefe9 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: don't unbox the same value more than once per basic block  
							
							 
							
							
							
						 
						
							2009-10-01 19:41:23 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								b9577e2b0e 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.instructions: remove ##box-float, ##unbox-float, ##box-vector, ##unbox-vector since they can be expressed in terms of ##alien-double, ##set-alien-double, ##alien-vector, ##set-alien-vector, and ##allot  
							
							 
							
							
							
						 
						
							2009-10-01 18:07:50 -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
							
						 
						
							 
							
							
							
								
							
								67cc45235d 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-09-30 23:04:04 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								7db7b63552 
								
							
								 
							
						 
						
							
							
								
								add a %blend-vector intrinsic for v?  
							
							 
							
							
							
						 
						
							2009-09-30 23:03:59 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2384b630b2 
								
							
								 
							
						 
						
							
							
								
								math.vectors.simd: use fallbacks for hlshift, hrshift, vshuffle if parameter is not a literal;al; element access in int-4 on x86-64 now sign-extends the value; don't throw error at compile time if parameter for vshuffle does not have enough elements  
							
							 
							
							
							
						 
						
							2009-09-30 20:04:37 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								2625f2d210 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-09-30 11:35:40 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								cb646db54a 
								
							
								 
							
						 
						
							
							
								
								add a "test-mr." word to compiler.cfg.debugger equivalent to "test-mr mr."  
							
							 
							
							
							
						 
						
							2009-09-30 11:34:19 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								b677822b76 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.value-numbering: fix overly-zealous ##compare-imm conversion  
							
							 
							
							
							
						 
						
							2009-09-30 05:09:20 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								cdc7b7e2c7 
								
							
								 
							
						 
						
							
							
								
								Various minor compiler tweaks: Combine address calculation with dereferencing in alien accessors; convert SIMD XOR of a vector with itself into an XOR of the destination with itself; convert SIMD unbox of zero vector into XOR of the destination with itself; fix SIMD indexing on x86-64  
							
							 
							
							
							
						 
						
							2009-09-30 05:00:36 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1da18d06b1 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.value-numbering: add some more rewrite rules, neg/neg, not/not, and a few for SIMD  
							
							 
							
							
							
						 
						
							2009-09-30 02:18:29 -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
							
						 
						
							 
							
							
							
								
							
								810cd7b4bb 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.ssa.destruction: don't coalesce registers with different representations, even if they're in the same register class, since this messes up spilling  
							
							 
							
							
							
						 
						
							2009-09-29 22:28: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
							
						 
						
							 
							
							
							
								
							
								a8ea929ad9 
								
							
								 
							
						 
						
							
							
								
								Work in progress  
							
							 
							
							
							
						 
						
							2009-09-28 17:31:34 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								4abfe06b51 
								
							
								 
							
						 
						
							
							
								
								Fixing various test failures caused by C type parser change, and clarify C type docs some more  
							
							 
							
							
							
						 
						
							2009-09-28 08:48:39 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								08a2eb74f4 
								
							
								 
							
						 
						
							
							
								
								cpu.x86: shifts didn't work if dst != src1; re-organize file a bit  
							
							 
							
							
							
						 
						
							2009-09-28 05:39:53 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								da5f0d0a14 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.ssa.destruction: we can coalesce two registers with different representations as long as they both belong to the same register class  
							
							 
							
							
							
						 
						
							2009-09-28 03:24:54 -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
							
						 
						
							 
							
							
							
								
							
								2de6ab9e21 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: fix tests for hash order  
							
							 
							
							
							
						 
						
							2009-09-27 23:35:56 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1d872db58d 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: tweak it so that register allocation does not depend on hashing order  
							
							 
							
							
							
						 
						
							2009-09-27 23:29:48 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								aa3b9097c8 
								
							
								 
							
						 
						
							
							
								
								compiler: fix codegen test  
							
							 
							
							
							
						 
						
							2009-09-27 22:23:03 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								999b22788e 
								
							
								 
							
						 
						
							
							
								
								compiler: add a unit test  
							
							 
							
							
							
						 
						
							2009-09-27 20:36:19 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								59fbe85c9b 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: nuke ##bignum>integer and ##integer>bignum since they were unused  
							
							 
							
							
							
						 
						
							2009-09-27 20:36:05 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								66071f45a3 
								
							
								 
							
						 
						
							
							
								
								Add a couple more def-is-use instructions  
							
							 
							
							
							
						 
						
							2009-09-27 20:34:20 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f757b454cc 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into more_aggressive_coalescing  
							
							 
							
							
							
						 
						
							2009-09-27 19:29:50 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								705b4ab5c3 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: fix partial sync point logic in case where dst == src, and clean up spilling code  
							
							 
							
							
							
						 
						
							2009-09-27 19:28:20 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1e841e5086 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.ssa.destruction: more aggressive coalescing work in progress  
							
							 
							
							
							
						 
						
							2009-09-27 17:17:26 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								dce02fcdfb 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-09-26 20:38:19 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								2cf0f3e5d3 
								
							
								 
							
						 
						
							
							
								
								move alien.inline, alien.cxx, alien.marshall to unmaintained; nuke alien.structs  
							
							 
							
							
							
						 
						
							2009-09-26 20:37:42 -05:00  
						
					 
				
					
						
							
							
								 
								sheeple
							
						 
						
							 
							
							
							
								
							
								01a4047126 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'slots' of git://factorcode.org/git/factor into slots  
							
							 
							
							... 
							
							
							
							Conflicts:
	basis/cpu/x86/x86.factor 
							
						 
						
							2009-09-26 03:12:42 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								c704a823e7 
								
							
								 
							
						 
						
							
							
								
								Fixing low-level-ir compiler tests for slot changes  
							
							 
							
							
							
						 
						
							2009-09-26 02:48:40 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								51f2bbd74b 
								
							
								 
							
						 
						
							
							
								
								Completing slot and set-slot changes on x86  
							
							 
							
							
							
						 
						
							2009-09-26 01:39:48 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								7bd330cfd5 
								
							
								 
							
						 
						
							
							
								
								Making ##slot and ##set-slot not have a temporary parameter  
							
							 
							
							
							
						 
						
							2009-09-26 00:28:14 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d017a53227 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'vm_cleanup' of git://github.com/phildawes/factor  
							
							 
							
							
							
						 
						
							2009-09-25 19:04:19 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c0abb9ce95 
								
							
								 
							
						 
						
							
							
								
								hints: fix regression with declarations  
							
							 
							
							
							
						 
						
							2009-09-25 18:50:08 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a6654c97ef 
								
							
								 
							
						 
						
							
							
								
								compiler: add unit test for undefined_symbol regression  
							
							 
							
							
							
						 
						
							2009-09-25 18:08:33 -05:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								d457df1fbf 
								
							
								 
							
						 
						
							
							
								
								moved %(un)nest-stacks out to cpu specific files to eliminate %vm-invoke from compiler.codegen  
							
							 
							
							
							
						 
						
							2009-09-25 19:32:08 +01:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								a07a2f7496 
								
							
								 
							
						 
						
							
							
								
								compiler.codegen passes temp reg to %call-gc  
							
							 
							
							
							
						 
						
							2009-09-25 18:48:13 +01: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
							
						 
						
							 
							
							
							
								
							
								cb497f009b 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'vm_cleanup' of git://github.com/phildawes/factor  
							
							 
							
							
							
						 
						
							2009-09-24 04:31:55 -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  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								84faf2431f 
								
							
								 
							
						 
						
							
							
								
								cleaned up vm-field-ptr compiler code  
							
							 
							
							
							
						 
						
							2009-09-24 08:16:57 +01:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								810bd63820 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							... 
							
							
							
							Conflicts:
	basis/math/vectors/simd/simd-docs.factor 
							
						 
						
							2009-09-23 10:11:49 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								9f59f6b9c6 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into integer-simd  
							
							 
							
							
							
						 
						
							2009-09-23 02:48:38 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7d39499d86 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.ssa.cssa: correctly handle overflowing fixnum instructions  
							
							 
							
							
							
						 
						
							2009-09-23 02:47:56 -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  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								e475817764 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-09-22 18:00:47 -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  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								51ddc963b8 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							... 
							
							
							
							Conflicts:
	core/generic/generic-tests.factor 
							
						 
						
							2009-09-22 10:25:42 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0e3a261637 
								
							
								 
							
						 
						
							
							
								
								Fix test failures in compiler.cfg.linearization.order, compiler.tests.low-level-ir and compiler.graphviz  
							
							 
							
							
							
						 
						
							2009-09-22 05:07:52 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								629fd1fc82 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into integer-simd  
							
							 
							
							
							
						 
						
							2009-09-22 03:24:52 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								513ba1f176 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linearization.order: basic blocks were being inserted twice if some blocks had repeated successors, causing problems for register allocation  
							
							 
							
							
							
						 
						
							2009-09-22 03:19:23 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								b86314ec39 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-09-21 17:59:48 -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
							
						 
						
							 
							
							
							
								
							
								9d90bdd439 
								
							
								 
							
						 
						
							
							
								
								Fix conflict  
							
							 
							
							
							
						 
						
							2009-09-20 23:18:07 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ea44ea3522 
								
							
								 
							
						 
						
							
							
								
								math.vectors.simd: add saturated arithmetic operations  
							
							 
							
							
							
						 
						
							2009-09-20 23:16:02 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								5cb34724b7 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							... 
							
							
							
							Conflicts:
	basis/classes/struct/struct-tests.factor
	basis/functors/functors-tests.factor
	basis/specialized-arrays/specialized-arrays-tests.factor 
							
						 
						
							2009-09-20 23:02:49 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								eceed177d6 
								
							
								 
							
						 
						
							
							
								
								replace usages of <" with """  
							
							 
							
							
							
						 
						
							2009-09-20 22:42:40 -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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f8a91438cd 
								
							
								 
							
						 
						
							
							
								
								Merge Phil Dawes' VM work  
							
							 
							
							
							
						 
						
							2009-09-20 03:48:08 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								076ab42dc3 
								
							
								 
							
						 
						
							
							
								
								move some allocation words that don't really have much to do with c types out of alien.c-types into a new alien.data vocab  
							
							 
							
							
							
						 
						
							2009-09-17 22:36:05 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								01d2ef415a 
								
							
								 
							
						 
						
							
							
								
								get compiler tests loading  
							
							 
							
							
							
						 
						
							2009-09-16 09:20:47 -05:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								0bc7c0c1d0 
								
							
								 
							
						 
						
							
							
								
								separated vm-1st-arg and vm-3rd-arg asm invoke words (needed for ppc & x86.64)  
							
							 
							
							
							
						 
						
							2009-09-16 08:20:09 +01:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								005549ba43 
								
							
								 
							
						 
						
							
							
								
								vm pointer passed to nest_stacks and unnest_stacks (win32)  
							
							 
							
							
							
						 
						
							2009-09-16 08:17:26 +01:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								ff8f2b10ec 
								
							
								 
							
						 
						
							
							
								
								fixed up getenv compiler intrinsic to use vm struct userenv  
							
							 
							
							
							
						 
						
							2009-09-16 08:16:32 +01:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								a5f24c8fb9 
								
							
								 
							
						 
						
							
							
								
								added VM relocation type  
							
							 
							
							
							
						 
						
							2009-09-16 08:16:30 +01:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								3b4330fcf6 
								
							
								 
							
						 
						
							
							
								
								get things to a point where they bootstrap again  
							
							 
							
							
							
						 
						
							2009-09-15 21:43:18 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								4d16c569f0 
								
							
								 
							
						 
						
							
							
								
								struct classes now make their own C type without help from alien.structs. remove alien.structs dependencies from everywhere outside of alien and compiler, and have the FFI handle both alien.structs and classes.struct c-types  
							
							 
							
							
							
						 
						
							2009-09-15 17:38:49 -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
							
						 
						
							 
							
							
							
								
							
								4f702de449 
								
							
								 
							
						 
						
							
							
								
								math.functions: more accurate log10 (fixes problem reported by OneEyed)  
							
							 
							
							
							
						 
						
							2009-09-14 16:19:58 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a2de9d9e54 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.builder: don't run certain tests if float intrinsics are not available  
							
							 
							
							
							
						 
						
							2009-09-13 23:12:47 -05: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
							
						 
						
							 
							
							
							
								
							
								a2b864e4f5 
								
							
								 
							
						 
						
							
							
								
								ALIEN: now reads a hexadecimal integer instead of a decimal one, since in general hex is more useful for addresses  
							
							 
							
							
							
						 
						
							2009-09-12 21:17:53 -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
							
						 
						
							 
							
							
							
								
							
								86a848bae6 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.intrinsics: compile float-mod as a ##binary-float-function instead of a primitive call  
							
							 
							
							
							
						 
						
							2009-09-11 21:00:17 -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
							
						 
						
							 
							
							
							
								
							
								daff63071f 
								
							
								 
							
						 
						
							
							
								
								Fix the build  
							
							 
							
							
							
						 
						
							2009-09-09 13:44:54 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								15d85c1c4f 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.save-contexts: add new pass  
							
							 
							
							
							
						 
						
							2009-09-08 21:56:28 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7e2f0e5dbf 
								
							
								 
							
						 
						
							
							
								
								compiler: separate ##save-context instruction from ##alien-invoke, generate a ##save-context for libm calls, and add a pass to combine multiple context saves within a basic block. Fixes crashes with FP traps thrown by libm functions on x86-32  
							
							 
							
							
							
						 
						
							2009-09-08 21:50:55 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								0ea9949e51 
								
							
								 
							
						 
						
							
							
								
								split unordered and ordered float comparison intrinsics in compiler; generate only unordered comparisons for now  
							
							 
							
							
							
						 
						
							2009-09-08 17:04:26 -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
							
						 
						
							 
							
							
							
								
							
								7c04b912bb 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.value-numbering: update tests for Joe's condition code changes  
							
							 
							
							
							
						 
						
							2009-09-04 03:11:56 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								4a2823b2eb 
								
							
								 
							
						 
						
							
							
								
								compiler: tweak generated code  
							
							 
							
							
							
						 
						
							2009-09-04 03:01:18 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e11d1e37f5 
								
							
								 
							
						 
						
							
							
								
								math.vectors.simd: allow punning SIMD vectors between types  
							
							 
							
							
							
						 
						
							2009-09-04 02:35:58 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c92e54b560 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.intrinsics: fix type detection on the alien type for vector accessors  
							
							 
							
							
							
						 
						
							2009-09-04 02:22:54 -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  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								036ff77306 
								
							
								 
							
						 
						
							
							
								
								add compiler comparison codes for floating-point unordered comparisons; update x86 backend to generate proper code for all floating-point comparisons  
							
							 
							
							
							
						 
						
							2009-09-03 20:32:05 -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
							
						 
						
							 
							
							
							
								
							
								85a2bfab6c 
								
							
								 
							
						 
						
							
							
								
								compiler: eliminate boilerplate by centralizing info in declarative INSN: syntax  
							
							 
							
							
							
						 
						
							2009-09-02 06:22:37 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f91b539c31 
								
							
								 
							
						 
						
							
							
								
								cpu.ppc: implement fast float function calls; 3x speedup on benchmark.struct-arrays on PowerPC  
							
							 
							
							
							
						 
						
							2009-09-01 15:19:26 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								868009aaee 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.intrinsics: cleanup: the "intrinsic" word property is now a quotation, not a boolean, making this mechanism more extensible  
							
							 
							
							
							
						 
						
							2009-08-30 22:20:49 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								bd629c1262 
								
							
								 
							
						 
						
							
							
								
								compiler/tests/codegen.factor: don't do exact float comparison  
							
							 
							
							
							
						 
						
							2009-08-30 18:57:45 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								447c5fbf7a 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.live-intervals: dead-value-error is never thrown anymore  
							
							 
							
							
							
						 
						
							2009-08-30 05:15:18 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								9595be4bf9 
								
							
								 
							
						 
						
							
							
								
								%box-displaced-alien: fix clobberage found by Doug  
							
							 
							
							
							
						 
						
							2009-08-30 05:11:08 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0db01f6d5f 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan now supports partial sync-points where all registers are spilled; taking advantage of this, there are new trigonometric intrinsics which yield a 2x performance boost on benchmark.struct-arrays and a 25% boost on benchmark.partial-sums  
							
							 
							
							
							
						 
						
							2009-08-30 04:52:01 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								908b4742c5 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.value-numbering: fix ##box-displaced-alien simplification  
							
							 
							
							
							
						 
						
							2009-08-28 19:05:49 -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
							
						 
						
							 
							
							
							
								
							
								8f19f14c1f 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.instructions: forgot that ##box-displaced-alien needs a GC check; fixes segfault in benchmark.mandel  
							
							 
							
							
							
						 
						
							2009-08-27 04:09:35 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f662e6403a 
								
							
								 
							
						 
						
							
							
								
								compiler: new inline intrinsic for <displaced-alien> where the inputs have known types; value numbering now eliminates unnecessary allocation of displaced aliens if the result is immediately unboxed again  
							
							 
							
							
							
						 
						
							2009-08-27 00:06:19 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								1b77718625 
								
							
								 
							
						 
						
							
							
								
								use structs  
							
							 
							
							
							
						 
						
							2009-08-26 11:01:39 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								bbcf08cdc3 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-08-26 09:15:33 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								8bf709acd0 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: fix unit tests for new fake-representations  
							
							 
							
							
							
						 
						
							2009-08-26 08:58:00 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0ff80a063d 
								
							
								 
							
						 
						
							
							
								
								compiler: only run float test in low-level-ir if float intrinsics enabled; fixes SIGILL on non-sse2 x86 machines  
							
							 
							
							
							
						 
						
							2009-08-26 06:58:47 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								8d55616d34 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.debugger: fix fake-representations so that low-level-ir tests can pass on x86  
							
							 
							
							
							
						 
						
							2009-08-25 23:44:01 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0df8aadce2 
								
							
								 
							
						 
						
							
							
								
								cpu.x86: use SQRTSD instruction for math.libm:fsqrt word  
							
							 
							
							
							
						 
						
							2009-08-25 23:22:15 -05:00  
						
					 
				
					
						
							
							
								 
								sheeple
							
						 
						
							 
							
							
							
								
							
								61c1ed17d9 
								
							
								 
							
						 
						
							
							
								
								basis/compiler/tests/low-level-ir: add ##copy double-float-rep test  
							
							 
							
							
							
						 
						
							2009-08-25 19:41:17 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								0ce57d0566 
								
							
								 
							
						 
						
							
							
								
								update new structs again  
							
							 
							
							
							
						 
						
							2009-08-25 16:31:58 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								2c6ef83c13 
								
							
								 
							
						 
						
							
							
								
								update compiler.tests.alien to joe's latest changes  
							
							 
							
							
							
						 
						
							2009-08-25 12:00:06 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								b756a37d75 
								
							
								 
							
						 
						
							
							
								
								use new structs wherever possible in compiler tests  
							
							 
							
							
							
						 
						
							2009-08-25 11:59:33 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								81b72cb5c5 
								
							
								 
							
						 
						
							
							
								
								Add some unit tests  
							
							 
							
							
							
						 
						
							2009-08-22 17:15:10 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1961b4da16 
								
							
								 
							
						 
						
							
							
								
								next-fastcall-param word was not being called; on x86 its equivalent to inc but on ppc there is more logic, this fixes FFI on PowerPC  
							
							 
							
							
							
						 
						
							2009-08-21 20:15:19 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								5197aca215 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.dataflow-analysis: when intersecting sets, treat uninitialized sets as universal rather than empty; reduces number of stack instructions generated by 1%  
							
							 
							
							
							
						 
						
							2009-08-20 18:15:41 -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
							
						 
						
							 
							
							
							
								
							
								fd2f0a602d 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stacks.local: more accurate local replace set computation; optimizes out 'swap swap'  
							
							 
							
							
							
						 
						
							2009-08-19 22:00:21 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a598cc35a5 
								
							
								 
							
						 
						
							
							
								
								compiler: add unit tests for new bugs  
							
							 
							
							
							
						 
						
							2009-08-19 16:56:26 -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
							
						 
						
							 
							
							
							
								
							
								507e2b7f3a 
								
							
								 
							
						 
						
							
							
								
								Fix some unit test failures  
							
							 
							
							
							
						 
						
							2009-08-18 03:49:05 -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  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								478b960560 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-08-14 20:11:54 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								3cec74867d 
								
							
								 
							
						 
						
							
							
								
								Improving write barrier elimination; change to compiler.cfg.utilities to support this  
							
							 
							
							
							
						 
						
							2009-08-14 19:41: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  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								8197d9356b 
								
							
								 
							
						 
						
							
							
								
								Write barriers are hoisted out of loops when their target is slot-available  
							
							 
							
							
							
						 
						
							2009-08-13 20:26:44 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								2ed4425b7a 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							... 
							
							
							
							Conflicts:
	basis/calendar/calendar.factor 
							
						 
						
							2009-08-13 19:40:02 -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  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								5a3e350490 
								
							
								 
							
						 
						
							
							
								
								Global write barrier elimination tracks newly allocated objects  
							
							 
							
							
							
						 
						
							2009-08-13 15:18:47 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								ad772cd261 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-08-12 23:56:05 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								d35e1eb76c 
								
							
								 
							
						 
						
							
							
								
								Fixing write-barrier elimination; adding bb as a parameter to join-sets in dataflow analysis  
							
							 
							
							
							
						 
						
							2009-08-12 23:52:29 -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  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								1a7ab59f56 
								
							
								 
							
						 
						
							
							
								
								Making write barrier elimination global  
							
							 
							
							
							
						 
						
							2009-08-11 21:21:21 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7bfbb0c5ac 
								
							
								 
							
						 
						
							
							
								
								math.intervals: fix interval-rem  
							
							 
							
							
							
						 
						
							2009-08-11 16:49:28 -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
							
						 
						
							 
							
							
							
								
							
								cc5476c823 
								
							
								 
							
						 
						
							
							
								
								_gc instruction doesn't need slot to hold GC root area size, since that's just tagged-values>> length  
							
							 
							
							
							
						 
						
							2009-08-09 03:08:13 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								687454878a 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linearization: change order to fit older unit tests  
							
							 
							
							
							
						 
						
							2009-08-08 23:06:57 -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
							
						 
						
							 
							
							
							
								
							
								24a50c8006 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.two-operand: sometimes we can eliminate a copy in the x = y <op> y case  
							
							 
							
							
							
						 
						
							2009-08-08 20:03:42 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								55acddef3f 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.representation: OK to unbox output of ##load-reference globally  
							
							 
							
							
							
						 
						
							2009-08-08 20:03:13 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d0c393aa60 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: new system to track when results of analyses need to be recomputed (reverse post order, linear order, predecessors, dominance, loops). Passes can now call needs-predecessors, needs-dominance, needs-loops at the beginning, and cfg-changed, predecessors-changd at the end. Linearization order now takes loop nesting into account, and linear scan now uses linearization order instead of RPO.  
							
							 
							
							
							
						 
						
							2009-08-08 20:02:56 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								11dc0a23a8 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.ssa.liveness: fix tests  
							
							 
							
							
							
						 
						
							2009-08-08 16:15:45 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1bf8a0cac7 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.representations: emit-conversion should not be private since CSSA construction uses it  
							
							 
							
							
							
						 
						
							2009-08-08 04:13:30 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								4b7ba38aab 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: virtual registers are integers now, and representations are stored off to the side. Fix bug in representation selection that would manifest if a value was used as a float and a fixnum in different branches; cannot globally unbox float in this case  
							
							 
							
							
							
						 
						
							2009-08-08 04:02:18 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e21ca289c3 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.representations: new pass to make global unboxing decisions, relies on new compiler.cfg.loop-detection pass for loop nesting information  
							
							 
							
							
							
						 
						
							2009-08-08 00:24:46 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								725280d424 
								
							
								 
							
						 
						
							
							
								
								Split off the notion of a register representation from a register class  
							
							 
							
							
							
						 
						
							2009-08-07 17:44:50 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								370f4c081d 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: convert code into two-operand form before SSA destruction; SSA destruction now operates on a relaxed SSA form where multiple defs of the same vreg are allowed, but only within a single basic block. This makes linear scan's coalescing redundant, allowing it to be removed completely  
							
							 
							
							
							
						 
						
							2009-08-05 18:57:46 -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
							
						 
						
							 
							
							
							
								
							
								b49e4c9c9b 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-08-03 10:31:27 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d286a7f426 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.critical-edges: no longer neededed  
							
							 
							
							
							
						 
						
							2009-08-03 10:31:00 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d20d335447 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stacks: more accurate deconcatenatization inserts fewer partially redundant ##peeks. 11% improvement on benchmark.beust2, 2% reduction in ##peek and ##replace instructions inserted  
							
							 
							
							
							
						 
						
							2009-08-03 07:08:28 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								720bfe378f 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stacks.uninitialized: use bitand instead of min  
							
							 
							
							
							
						 
						
							2009-08-03 06:03:38 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								63e5b0d6d8 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-08-02 23:16:52 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								7c5ef08aab 
								
							
								 
							
						 
						
							
							
								
								[ [ ... ] compare ] sort => [ ... ] sort-with  
							
							 
							
							
							
						 
						
							2009-08-02 20:09:23 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								dac7edd2ab 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.def-use: remove compute-def-use word, passes have to call compute-defs or compute-uses now; compiler.cfg.ssa.liveness: don't compute dominance and def-use first since destruction does already  
							
							 
							
							
							
						 
						
							2009-08-02 19:12:32 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								df6c87d350 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-08-02 18:46:27 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								32d9102feb 
								
							
								 
							
						 
						
							
							
								
								Revert "SSA destruction uses new SSA liveness checking"  
							
							 
							
							... 
							
							
							
							This reverts commit 98c7de8410 . 
							
						 
						
							2009-08-02 18:41:31 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a15b20a671 
								
							
								 
							
						 
						
							
							
								
								Revert "compiler.cfg.liveness.ssa: remove"  
							
							 
							
							... 
							
							
							
							This reverts commit 6144fee101 . 
							
						 
						
							2009-08-02 18:41:16 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								665b3921d1 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-08-02 18:25:37 -04:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								f7a53811c1 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							... 
							
							
							
							Conflicts:
	basis/compiler/cfg/ssa/liveness/liveness-tests.factor 
							
						 
						
							2009-08-02 18:23:49 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								634e1dd525 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.liveness.ssa: remove  
							
							 
							
							
							
						 
						
							2009-08-02 17:19:01 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								765efc1a66 
								
							
								 
							
						 
						
							
							
								
								Removing phi-outs set in SSA liveness checking  
							
							 
							
							
							
						 
						
							2009-08-02 18:15:18 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								777bda70dc 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-08-02 17:07:06 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								8a8ebcb908 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.ssa.liveness: fix unit tests  
							
							 
							
							
							
						 
						
							2009-08-02 17:06:35 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								3b78d03e2a 
								
							
								 
							
						 
						
							
							
								
								minor SSA liveness code reorganization  
							
							 
							
							
							
						 
						
							2009-08-02 18:05:51 -04:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								cf7ab59fb7 
								
							
								 
							
						 
						
							
							
								
								SSA destruction uses new SSA liveness checking  
							
							 
							
							
							
						 
						
							2009-08-02 18:04:45 -04:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								d349cc565a 
								
							
								 
							
						 
						
							
							
								
								def-use puts phi uses in respective predecessors  
							
							 
							
							
							
						 
						
							2009-08-02 18:04:07 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								73e7ead209 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.ssa.destruction: add optimization from old destruction pass: don't run on CFGs that have no phi instructions  
							
							 
							
							
							
						 
						
							2009-08-02 10:57:27 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ba55633b19 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.ssa.interference: cleanup  
							
							 
							
							
							
						 
						
							2009-08-02 10:35:02 -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
							
						 
						
							 
							
							
							
								
							
								c1c8424605 
								
							
								 
							
						 
						
							
							
								
								Compiler speedups  
							
							 
							
							
							
						 
						
							2009-08-02 09:16:21 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								8aa41672ca 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.ssa.destruction.copies: factor out add-instructions combinator into compiler.cfg.utilities  
							
							 
							
							
							
						 
						
							2009-08-02 08:20:50 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								cff5976a0d 
								
							
								 
							
						 
						
							
							
								
								Move compiler.cfg.ssa.destruction.interference to compiler.cfg.ssa.interference  
							
							 
							
							
							
						 
						
							2009-08-02 08:15:36 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								87e13db946 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.ssa.destruction.interference: fix a bug and add unit tests  
							
							 
							
							
							
						 
						
							2009-08-02 08:11:30 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7ec288b013 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.debugger: fix load error  
							
							 
							
							
							
						 
						
							2009-08-02 08:11:04 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								b5a978d4e5 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.ssa.destruction: add some unit tests  
							
							 
							
							
							
						 
						
							2009-08-02 06:17:44 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c61b729125 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.critical-edges: update ##phi nodes  
							
							 
							
							
							
						 
						
							2009-08-02 06:17:22 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								01f51a96cd 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.utilities: add each-phi combinator to iterate over all ##phi instructions in a basic block  
							
							 
							
							
							
						 
						
							2009-08-02 06:16:58 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								21489ce85e 
								
							
								 
							
						 
						
							
							
								
								compiler tests: add test case for coalescing bug  
							
							 
							
							
							
						 
						
							2009-08-02 03:49:54 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e1c7f7394a 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: clean up unit tests using some new utilities  
							
							 
							
							
							
						 
						
							2009-08-02 03:49:25 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								9bde92220b 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.two-operand: if last instruction in a basic block is an overflowing arithmetic op of the form x = y op x, we now convert it correctly. This fixes compiler regression with benchmark.dawes after recent coalescing changes  
							
							 
							
							
							
						 
						
							2009-08-01 23:50:47 -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
							
						 
						
							 
							
							
							
								
							
								1ef9cd27d3 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.copy-prop: eliminate phi nodes that have the same inputs as a previous phi node in the basic block  
							
							 
							
							
							
						 
						
							2009-08-01 22:33:27 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								05b7bb0079 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-08-01 20:22:51 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								20ec574965 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.ssa.destruction: fix bug in trivial-interference heuristic, and type error in code path that didn't run before  
							
							 
							
							
							
						 
						
							2009-08-01 20:22:31 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								0838beed1e 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-08-01 20:33:41 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								76368cae9b 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.liveness.ssa: fix bad bug discovered by littledan  
							
							 
							
							
							
						 
						
							2009-08-01 18:54:24 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2d719534cf 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stacks: kill set now includes all locations eliminated as a result of stack height decrease; reduces number of ##replace instructions generated by 2%  
							
							 
							
							
							
						 
						
							2009-08-01 06:12:43 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7c43f71c6d 
								
							
								 
							
						 
						
							
							
								
								compiler: Oops, typos in unit tests  
							
							 
							
							
							
						 
						
							2009-07-31 22:33:02 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d515715b0c 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.ssa.destruction: fix bug in renaming triggered by sequence-parser:take-sequence  
							
							 
							
							
							
						 
						
							2009-07-31 18:34:15 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								45770c6250 
								
							
								 
							
						 
						
							
							
								
								Move a bunch of GC check generation logic to platform-independent side  
							
							 
							
							
							
						 
						
							2009-07-30 21:28:27 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								8134d775a8 
								
							
								 
							
						 
						
							
							
								
								Faster SSA liveness testing  
							
							 
							
							
							
						 
						
							2009-07-30 15:23:47 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								be363d1a5b 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: Get inline GC checks working again, using a dataflow analysis to compute uninitialized stack locations in compiler.cfg.stacks.uninitialized. Re-enable intrinsics which use inline allocation  
							
							 
							
							
							
						 
						
							2009-07-30 09:19:44 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								791fbe4003 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: fix case where a register can be made available for only a part of a live interval's lifetime, but there are no more usages after the split location. This case never came up until global stack analysis, at which point it started to be exercised on x86-32  
							
							 
							
							
							
						 
						
							2009-07-30 02:13:30 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								6274c0337a 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.ssa.destruction: fix  
							
							 
							
							
							
						 
						
							2009-07-29 23:43:00 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								b133649edd 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.ssa.destruction: tweak in preparation for landing Dan's new SSA liveness analysis  
							
							 
							
							
							
						 
						
							2009-07-29 23:35:51 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								cb36a40dc4 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: more test fixes  
							
							 
							
							
							
						 
						
							2009-07-29 07:04:52 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								cb7735ddf4 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: remove 'regs' slot from instruction tuples now that register allocation doesn't use it anymore  
							
							 
							
							
							
						 
						
							2009-07-29 06:50:46 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								639a1cbb1f 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.resolve: fix unit tests to not depend on hashing  
							
							 
							
							
							
						 
						
							2009-07-29 06:48:01 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								34432c5f18 
								
							
								 
							
						 
						
							
							
								
								compiler: fix test  
							
							 
							
							
							
						 
						
							2009-07-29 06:39:54 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								74766d1ccd 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.assignment: modifies instructions in place instead of storing a registers assoc for further compile-time performance improvement  
							
							 
							
							
							
						 
						
							2009-07-29 06:36:14 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1532a6f2e3 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.assignment: more efficient data structures  
							
							 
							
							
							
						 
						
							2009-07-29 06:12:33 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								50bf6f52b4 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linearization: fix bootstrap  
							
							 
							
							
							
						 
						
							2009-07-28 22:52:07 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								eabaf9fc40 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-07-28 21:31:25 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								8c6b38533c 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linearization: rotate loops. 2x speedup with empty times loop, 1.5x speedup on benchmark.dawes  
							
							 
							
							
							
						 
						
							2009-07-28 21:31:08 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								9afa39aa3a 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.ssa.destruction: rename coalesce word to destruct-ssa  
							
							 
							
							
							
						 
						
							2009-07-28 12:56:33 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d913d7331f 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: Minor optimization. Instructions can now only ever produce a single value; this eliminates 1array constructions and some iterations  
							
							 
							
							
							
						 
						
							2009-07-28 12:29:07 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7d3b6892d5 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.ssa.construction: use the optimization from the pruned-SSA paper to minimize stack pushing and popping  
							
							 
							
							
							
						 
						
							2009-07-28 11:52:42 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7a6bdffaaa 
								
							
								 
							
						 
						
							
							
								
								IN: fix for compiler test  
							
							 
							
							
							
						 
						
							2009-07-28 11:16:21 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								62fe308776 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.ssa.construction: Use TDMSC algorithm to compute Phi placement  
							
							 
							
							
							
						 
						
							2009-07-28 11:16:10 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d10993b837 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: Rename ssa to ssa.construction, coalescing to ssa.destruction  
							
							 
							
							
							
						 
						
							2009-07-28 09:34:08 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								80e10f1bd0 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: Fix some unit tests  
							
							 
							
							
							
						 
						
							2009-07-28 08:56:14 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d394dd3c36 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.branch-splitting: re-enable with a better heuristic  
							
							 
							
							
							
						 
						
							2009-07-28 08:48:05 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ff81b055a5 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.utilities: add loop-entry? word  
							
							 
							
							
							
						 
						
							2009-07-28 08:47:50 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e6f5eab598 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: fix resolve pass  
							
							 
							
							
							
						 
						
							2009-07-28 08:47:35 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								3edf4a2b75 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.coalescing: cleanups  
							
							 
							
							
							
						 
						
							2009-07-28 08:47:03 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								cf26800dbd 
								
							
								 
							
						 
						
							
							
								
								Revert "compiler.cfg.coalescing: some cleanups"  
							
							 
							
							... 
							
							
							
							This reverts commit e5834c4ba7 . 
							
						 
						
							2009-07-28 07:51:44 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								18717a449f 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.resolve: unit tests  
							
							 
							
							
							
						 
						
							2009-07-28 07:41:41 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								009cfbfc8d 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.utilities: fix stack effect declaration  
							
							 
							
							
							
						 
						
							2009-07-28 07:40:09 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								857ef94acc 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: use compiler.cfg.parallel-copy in resolve pass  
							
							 
							
							
							
						 
						
							2009-07-28 07:39:46 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f2c8f2824a 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.coalescing: some cleanups  
							
							 
							
							
							
						 
						
							2009-07-28 07:37:50 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								3e6e5278a4 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.utilities: fix load error  
							
							 
							
							
							
						 
						
							2009-07-28 06:51:03 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a4cb242396 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.coalescing: Only run if CFG has ##phi nodes, fix interference for case where value is not used in a block and is not live-in, forgot to run liveness analysis first  
							
							 
							
							
							
						 
						
							2009-07-28 06:48:20 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								cb07256ff5 
								
							
								 
							
						 
						
							
							
								
								Add some compiler tests  
							
							 
							
							
							
						 
						
							2009-07-28 06:45:31 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1878b0dc32 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.liveness: fix liveness computation in case where instruction uses a register it defines  
							
							 
							
							
							
						 
						
							2009-07-28 06:45:02 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d2b158c8e4 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.critical-edges: reset RPO  
							
							 
							
							
							
						 
						
							2009-07-28 01:04:13 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								cf90945b4c 
								
							
								 
							
						 
						
							
							
								
								Add some tests that directly generate low level IR  
							
							 
							
							
							
						 
						
							2009-07-27 22:29:33 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								3cc71a1934 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.coalescing: precompute live intervals, add support for instructions where output cannot equal an input, split critical edges  
							
							 
							
							
							
						 
						
							2009-07-27 22:29:17 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e8cf50ac3e 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.two-operand: make it work in more cases  
							
							 
							
							
							
						 
						
							2009-07-27 22:28:29 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								423d2996fa 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.debugger: reset vreg counters  
							
							 
							
							
							
						 
						
							2009-07-27 22:28:13 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c5d7ed58a5 
								
							
								 
							
						 
						
							
							
								
								Debugging compiler.cfg.coalescing  
							
							 
							
							
							
						 
						
							2009-07-27 19:24:13 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1a765c38da 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.parallel-copy: fix algorithm  
							
							 
							
							
							
						 
						
							2009-07-27 16:54:47 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								31555b05cf 
								
							
								 
							
						 
						
							
							
								
								compiler.codegen: collect instruction statistics  
							
							 
							
							
							
						 
						
							2009-07-27 03:58:15 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								9fa71959b5 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.coalescing: fix shuffling bug  
							
							 
							
							
							
						 
						
							2009-07-27 03:58:01 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e112b0d70e 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.phi-elimination: no longer needed  
							
							 
							
							
							
						 
						
							2009-07-27 02:20:53 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ba696b68b8 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.coalescing: more or less complete, now needs debugging  
							
							 
							
							
							
						 
						
							2009-07-27 02:20:45 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a32cbdd231 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.coalescing: more work done  
							
							 
							
							
							
						 
						
							2009-07-27 00:31:21 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								501629cf75 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.info: fix load error  
							
							 
							
							
							
						 
						
							2009-07-27 00:30:24 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a5e5510615 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.coalescing: work in progress  
							
							 
							
							
							
						 
						
							2009-07-26 21:11:26 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e9935b6aad 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.copy-prop: remove ##phi nodes where all inputs are copy-equivalent  
							
							 
							
							
							
						 
						
							2009-07-26 21:11:02 -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
							
						 
						
							 
							
							
							
								
							
								1319d8e549 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.def-use: build def-use chains  
							
							 
							
							
							
						 
						
							2009-07-26 21:10:14 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2137c9cc79 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.dominance: add pre order and max pre order numbers; use them to implement dominates? check  
							
							 
							
							
							
						 
						
							2009-07-26 21:10:05 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								053de0af40 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.copy-prop: work in progress  
							
							 
							
							
							
						 
						
							2009-07-24 19:56:21 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2fb0198d48 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.parallel-copy: forgot to add this  
							
							 
							
							
							
						 
						
							2009-07-24 19:46:33 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								4624af75f4 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.phi-elimination: move some utilities from compiler.cfg.utilities here since that's the only place they get used  
							
							 
							
							
							
						 
						
							2009-07-24 16:45:31 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								13c3fdcb5c 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: Fixing test failures  
							
							 
							
							
							
						 
						
							2009-07-24 06:08:07 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7068de6cd3 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.copy-prop: Global copy propagation  
							
							 
							
							
							
						 
						
							2009-07-24 05:30:46 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e0f6d89ff1 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.value-numbering: insert ##copy instructions for instructions whose expressions simplify. While subsequent usages are replaced with the instruction computing the simplified vreg locally, global usages may exist of the original instruction. In this case, the ##copy is not dead  
							
							 
							
							
							
						 
						
							2009-07-24 05:30:30 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								de73534424 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.write-barrier: simplify a little bit. It doesn't need to do copy propagation, since its a separate pass now  
							
							 
							
							
							
						 
						
							2009-07-24 05:29:28 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7590ad3574 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: introduce less temporaries when building CFG  
							
							 
							
							
							
						 
						
							2009-07-24 03:37:18 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2bea107202 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.builder: fix stack effect declaration  
							
							 
							
							
							
						 
						
							2009-07-23 21:24:15 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d947c61bd7 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stacks: now performs online local DCN  
							
							 
							
							
							
						 
						
							2009-07-23 20:54:38 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ff7f0e2f3b 
								
							
								 
							
						 
						
							
							
								
								Add testcase for recent bug  
							
							 
							
							
							
						 
						
							2009-07-23 18:03:14 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								b1afd4c491 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.mapping: simplify  
							
							 
							
							
							
						 
						
							2009-07-23 18:03:04 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								747a2d72c8 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.empty-blocks: new pass to delete empty blocks, runs after phi elimination  
							
							 
							
							
							
						 
						
							2009-07-23 18:02:46 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								93c58a8bb5 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.branch-splitting: now that we do SSA construction we can split branches with fixnum overflow ops (which have a live-out)  
							
							 
							
							
							
						 
						
							2009-07-23 18:02:29 -05:00