Slava Pestov
							
						 
						
							 
							
							
							
								
							
								38bafd2be8 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.assignment: spill slot representation logic was backwards, just like Factor  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:29 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								428ba9fd0f 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: fuse ##load-integer/##load-reference into ##replace to form ##replace-imm  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:28 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								9788323d25 
								
							
								 
							
						 
						
							
							
								
								compiler: add ##load-vector instruction to avoid wasting a temporary register on x86-32  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:28 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								5979fe7f41 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.copy-prop: optimistic copy propagation  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:26 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e90712b1ed 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: cleanup  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:26 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								df86d1341f 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: clean up ##phi literals in tests  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:24 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ffd1844d52 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: clean up spill slot assignment  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:24 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								65f86bfce7 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.ssa.detruction: coalesce different representations in more cases  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:22 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ce73031ec3 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.alias-analysis: write unit tests and fix redundant store elimination  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:22 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								33eb15bf44 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.debugger: clean up and make it more flexible  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:22 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								43f269e4eb 
								
							
								 
							
						 
						
							
							
								
								Register allocation now uses SSA properties to coalesce values with different representations  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:20 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								9b34a4a054 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: remove unused 'reps' slot from compiler.cfg, and re-organize things in preparation for SSA register allocation  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:18 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								43fc230c69 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: cleanups  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:18 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d23bb19b55 
								
							
								 
							
						 
						
							
							
								
								Code cleanups  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:17 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c55a6bb385 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.gc-checks: move phi instructions into GC check block, to ensure correct behavior  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:17 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								95ff5ffe51 
								
							
								 
							
						 
						
							
							
								
								New GC checks work in progress  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:16 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								db7403d697 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.resolve: fix incorrect behavior when one physical register is used with several representations in the same register class  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:14 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								51b13ce373 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: don't insert a _reload if the register is going to be overwritten anyway  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:14 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a9ccfa8f05 
								
							
								 
							
						 
						
							
							
								
								strings: move string-nth primitive out of the VM and into the library  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:12 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								458fd007be 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.representations: simplify a little  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:11 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ed8c32989f 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.representations: add peephole optimizations for integer comparisons  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:11 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0f5d9974a0 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.representations: fix various bugs  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:11 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								456743a6ce 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.representations: add more peephole optimizations to reduce fixnum tagging and untagging overhead  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:11 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a141df595b 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.value-numbering: more cleanups  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:10 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ef8094e3b3 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.value-numbering: identify VNs with their representative vregs, eliminating the vn>vreg hash  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:10 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								edaf59bf46 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.value-numbering: maintain a VN to instruction mapping. This eliminates all instances of expression inspection, allowing the auto-generated expression classes to be removed  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:09 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f548a08637 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.value-numbering: remove constant -vs- literal distinction  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:09 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								9cea3f2c93 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.ssa.liveness: remove unused pass  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:08 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								732f57f31d 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.builder: fix unit tests  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:08 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f14f2cbdab 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.value-numbering: merge 'simplify' pass into 'rewrite'  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:08 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								378c2b2a46 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: add ##load-memory and ##store-memory instructions implementing complex addressing modes, and associated value numbering optimizations  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:07 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								b8d556514c 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.value-numbering: add slot addressing rewrite rule to eliminate a redundant ##add-imm from array-nth and set-array-nth  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:07 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2475699736 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: more flexible addressing for ##slot and ##set-slot  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:06 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								913b95192e 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: merge all alien accessors into ##load-memory-imm and ##store-memory-imm  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:06 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								279eb461b1 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: remove ##set-string-nth-fast instruction since it can be expressed just as efficiently using other instructions  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:04 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								efd2a80d98 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.value-numbering: fix compile error  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:04 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e95cd256ec 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.representations: peephole optimizations are used to simplify the case where the input to a ##shl-imm or ##sar-imm needs to be untagged  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:03 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2ce926594d 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.value-numbering: new optimizations; reassociation for shifts and redistribution for shifts/multiplies over additions/subtractions  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:02 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2ca8d543f1 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.instructions: more typos  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:02 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								82fb1879af 
								
							
								 
							
						 
						
							
							
								
								Debugging untagged fixnums  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:02 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								5d3a7a7362 
								
							
								 
							
						 
						
							
							
								
								Untagged fixnums work in progress  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:02 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								503c0fcfde 
								
							
								 
							
						 
						
							
							
								
								compiler: Start using tagged-rep for stuff, and split up compiler.cfg.representations into several sub-vocabularies  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:01 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2517b2fc2b 
								
							
								 
							
						 
						
							
							
								
								compiler: combine ##load-constant followed by ##alien-double into a ##load-double on x86-32, saving an integer register  
							
							 
							
							
							
						 
						
							2010-04-18 21:42:45 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								8f0739197e 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: fix some bugs introduced by the ##compare-imm fusion patch  
							
							 
							
							
							
						 
						
							2010-04-18 21:42:45 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2aaf24412a 
								
							
								 
							
						 
						
							
							
								
								compiler: change how 'f' is represented in low level IR to simplify some code, and fuse a ##load-constant of a word with a ##compare into a ##compare-imm on x86-32. This eliminates a spill from binary-search  
							
							 
							
							
							
						 
						
							2010-04-18 21:42:45 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								fbb1eb98a9 
								
							
								 
							
						 
						
							
							
								
								Improving dependence graph correctness  
							
							 
							
							
							
						 
						
							2010-04-18 19:59:52 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								6892bac1ca 
								
							
								 
							
						 
						
							
							
								
								Making some scheduling assertions only run in unit tests  
							
							 
							
							
							
						 
						
							2010-04-15 17:36:43 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								74de7d0e2a 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor into s3  
							
							 
							
							
							
						 
						
							2010-04-15 17:28:53 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								3e0d86f355 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor into abi-symbols  
							
							 
							
							... 
							
							
							
							Conflicts:
	basis/compiler/tests/alien.factor 
							
						 
						
							2010-04-06 12:30:15 -07:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								aae69daa96 
								
							
								 
							
						 
						
							
							
								
								Fixing USING: line of scheduling to remove unnecessary vocabs  
							
							 
							
							
							
						 
						
							2010-04-05 15:45:06 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								e22f66daf4 
								
							
								 
							
						 
						
							
							
								
								Scheduling has to come before representation selection, since the latter inserts memory operations  
							
							 
							
							
							
						 
						
							2010-04-05 00:24:12 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								601b6f8457 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor into s3  
							
							 
							
							
							
						 
						
							2010-04-04 19:43:15 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								eceabbc57e 
								
							
								 
							
						 
						
							
							
								
								compiler: new set-special-object intrinsic; more efficient special-object intrinsic  
							
							 
							
							
							
						 
						
							2010-04-01 20:09:14 -04:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								65c3259761 
								
							
								 
							
						 
						
							
							
								
								"cdecl" -> cdecl  
							
							 
							
							
							
						 
						
							2010-03-31 19:20:35 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d98e752199 
								
							
								 
							
						 
						
							
							
								
								compiler: add intrinsic for context-object primitive  
							
							 
							
							
							
						 
						
							2010-03-27 02:56:11 -04:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								31f23c8eba 
								
							
								 
							
						 
						
							
							
								
								Scheduling uses sets where appropriate  
							
							 
							
							
							
						 
						
							2010-03-24 10:38:52 -04:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								12db8a6c77 
								
							
								 
							
						 
						
							
							
								
								Merge branch 's3' of git://github.com/littledan/Factor into s3  
							
							 
							
							
							
						 
						
							2010-03-23 16:46:28 -04:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								1d4d6f4ce8 
								
							
								 
							
						 
						
							
							
								
								factor code duplication in compiler.cfg.intrinsics.simd.backend  
							
							 
							
							
							
						 
						
							2010-03-20 10:57:04 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								f82a368602 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.intrinsics.simd.backend: eliminate duplicated work done on successful insn sequence  
							
							 
							
							
							
						 
						
							2010-03-20 02:51:49 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								ee4913702f 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.intrinsics.simd.backend: use less grotesque metaprogramming to determine simd instruction sequences  
							
							 
							
							
							
						 
						
							2010-03-20 02:16:50 -07:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								248730d39f 
								
							
								 
							
						 
						
							
							
								
								Cleaning up compiler.cfg.ssa.construction  
							
							 
							
							
							
						 
						
							2010-03-17 20:12:10 -04:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								512fe14e4e 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'bags' of git://github.com/littledan/Factor  
							
							 
							
							... 
							
							
							
							Conflicts:
	basis/compiler/cfg/ssa/construction/tdmsc/tdmsc.factor
	basis/furnace/auth/auth.factor
	basis/stack-checker/backend/backend.factor 
							
						 
						
							2010-03-16 13:28:00 -04:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								191ac353fd 
								
							
								 
							
						 
						
							
							
								
								generalize stack effects so we can bootstrap with the stricter stack effect checking  
							
							 
							
							
							
						 
						
							2010-03-08 23:38:10 -08:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								af57d4dfa9 
								
							
								 
							
						 
						
							
							
								
								fix ... in compiler.cfg.linearization  
							
							 
							
							
							
						 
						
							2010-03-05 14:27:58 -08:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								e3481a7ed7 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.def-use uses sets  
							
							 
							
							
							
						 
						
							2010-03-02 19:23:34 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								1e5f202998 
								
							
								 
							
						 
						
							
							
								
								Maing vocabs.hierarchy use sets; modifying alias analysis's use of sets  
							
							 
							
							
							
						 
						
							2010-02-28 22:55:22 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								1217dc9c6e 
								
							
								 
							
						 
						
							
							
								
								Making alias analysis use sets  
							
							 
							
							
							
						 
						
							2010-02-28 22:42:10 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								7cd3360cdd 
								
							
								 
							
						 
						
							
							
								
								Fixing ambiguity between sets and namespaces in many unit tests and furnace.auth  
							
							 
							
							
							
						 
						
							2010-02-26 17:17:40 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								6298203b4c 
								
							
								 
							
						 
						
							
							
								
								Making all of basis and extra unambiguous for sets/namespaces  
							
							 
							
							
							
						 
						
							2010-02-26 16:28:38 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								7074979745 
								
							
								 
							
						 
						
							
							
								
								Moving new-sets to sets  
							
							 
							
							
							
						 
						
							2010-02-26 16:01:01 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								a72e2cc96c 
								
							
								 
							
						 
						
							
							
								
								Finishing converting compiler.cfg.ssa.construction.tdmsc to new-sets  
							
							 
							
							
							
						 
						
							2010-02-26 13:53:20 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								2034e1ef05 
								
							
								 
							
						 
						
							
							
								
								Fewer unnecessary dependence edges between stack operations, implemented by reviving stack height normalization. Now, 40% of spills and reloads are eliminated in total  
							
							 
							
							
							
						 
						
							2010-02-24 14:20:43 -06:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								04878057af 
								
							
								 
							
						 
						
							
							
								
								Compiler.cfg.{dce,linearization} use new-sets  
							
							 
							
							
							
						 
						
							2010-02-16 15:48:07 -06:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								30cc248bb3 
								
							
								 
							
						 
						
							
							
								
								Bit sets use new new set protocol, and compiler.cfg.ssa.construction.tdmsc is updated for it  
							
							 
							
							
							
						 
						
							2010-02-16 15:14:32 -06:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								6d36bfd104 
								
							
								 
							
						 
						
							
							
								
								Modifying dependence graph construction for faster compile time  
							
							 
							
							
							
						 
						
							2010-02-13 21:35:40 -06:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								4f7fd41cf2 
								
							
								 
							
						 
						
							
							
								
								Using original instruction order as a tiebreaker in scheduling  
							
							 
							
							
							
						 
						
							2010-02-11 23:12:17 -06:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								5a3d0fb883 
								
							
								 
							
						 
						
							
							
								
								Scheduling doesn't have such redundant data structures anymore  
							
							 
							
							
							
						 
						
							2010-02-11 21:21:22 -06:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								a6f255a985 
								
							
								 
							
						 
						
							
							
								
								Scheduling schedules more BBs--it was leaving out some ones that shouldn't've been. Now it's almost 30% of spills and reloads that are eliminated  
							
							 
							
							
							
						 
						
							2010-02-11 21:02:02 -06:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								edae2fa2d3 
								
							
								 
							
						 
						
							
							
								
								Making the fan-in tree generation work. Finally: a 20% reduction in spills and reloads on x86!  
							
							 
							
							
							
						 
						
							2010-02-11 00:19:53 -06:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								6fe9aa50f7 
								
							
								 
							
						 
						
							
							
								
								Working on fixing scheduling  
							
							 
							
							
							
						 
						
							2010-02-10 22:36:26 -06:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								04946dcddd 
								
							
								 
							
						 
						
							
							
								
								A first attempt at implementing Vivek Sarkar's algorithm for scheduling for register pressure  
							
							 
							
							
							
						 
						
							2010-02-10 21:43:30 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c5c94ef1f9 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.intrinsics.simd: ignore dummy assert-positive word  
							
							 
							
							
							
						 
						
							2010-01-31 18:19:14 +13: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
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								df4fb4a3ee 
								
							
								 
							
						 
						
							
							
								
								Removing integers-as-sequences  
							
							 
							
							
							
						 
						
							2010-01-15 07:15:33 +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
							
						 
						
							 
							
							
							
								
							
								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
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								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  
						
					 
				
					
						
							
							
								 
								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
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0612bc6177 
								
							
								 
							
						 
						
							
							
								
								Factor source files should not be executable  
							
							 
							
							
							
						 
						
							2009-11-21 17:50:43 -06: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  
						
					 
				
					
						
							
							
								 
								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  
						
					 
				
					
						
							
							
								 
								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  
						
					 
				
					
						
							
							
								 
								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  
						
					 
				
					
						
							
							
								 
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e4ad642134 
								
							
								 
							
						 
						
							
							
								
								vm: 4 bit tags, new representation of alien objects makes unbox-any-c-ptr more efficient (work in progress)  
							
							 
							
							
							
						 
						
							2009-11-02 04:25:54 -06:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								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
							
						 
						
							 
							
							
							
								
							
								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
							
						 
						
							 
							
							
							
								
							
								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
							
						 
						
							 
							
							
							
								
							
								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
							
						 
						
							 
							
							
							
								
							
								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
							
						 
						
							 
							
							
							
								
							
								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
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								2db25b937e 
								
							
								 
							
						 
						
							
							
								
								Doing constant folding on ##neg and ##not in value numbering  
							
							 
							
							
							
						 
						
							2009-10-08 01:57:54 -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  
						
					 
				
					
						
							
							
								 
								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  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								aa3392e50f 
								
							
								 
							
						 
						
							
							
								
								implement vand, vor, vandn, and vxor as bitwise intrinsics for simd types  
							
							 
							
							
							
						 
						
							2009-10-02 14:17:01 -05: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
							
						 
						
							 
							
							
							
								
							
								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
							
						 
						
							 
							
							
							
								
							
								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
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								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
							
						 
						
							 
							
							
							
								
							
								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
							
						 
						
							 
							
							
							
								
							
								c0abb9ce95 
								
							
								 
							
						 
						
							
							
								
								hints: fix regression with declarations  
							
							 
							
							
							
						 
						
							2009-09-25 18:50:08 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								bbbb207dab 
								
							
								 
							
						 
						
							
							
								
								Some fixes and cleanups in math.vectors  
							
							 
							
							... 
							
							
							
							- Tighten up type inference for operations on complex float arrays
- Fix v. to have correct behavior with complex numbers
- Rename v<< and v>> to vlshift and vrshift to avoid clashing with v>> accessor 
							
						 
						
							2009-09-24 06:58:33 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								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  
						
					 
				
					
						
							
							
								 
								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  
						
					 
				
					
						
							
							
								 
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								acea55c692 
								
							
								 
							
						 
						
							
							
								
								math.vectors: add v+- word which is accelerated by SSE3  
							
							 
							
							
							
						 
						
							2009-09-20 17:43:16 -05:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								ff8f2b10ec 
								
							
								 
							
						 
						
							
							
								
								fixed up getenv compiler intrinsic to use vm struct userenv  
							
							 
							
							
							
						 
						
							2009-09-16 08:16:32 +01: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
							
						 
						
							 
							
							
							
								
							
								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
							
						 
						
							 
							
							
							
								
							
								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
							
						 
						
							 
							
							
							
								
							
								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
							
						 
						
							 
							
							
							
								
							
								bbca00e2ae 
								
							
								 
							
						 
						
							
							
								
								Fix conflicts  
							
							 
							
							
							
						 
						
							2009-09-07 23:51:25 -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