6b5fffc026 
								
							
								 
							
						 
						
							
							
								
								compiler: preliminary implementation of tracking derived pointers in GC maps  
							
							
							
						 
						
							2010-09-27 20:12:44 -07:00  
				
					
						
							
							
								 
						
							
							
								bb87d124c1 
								
							
								 
							
						 
						
							
							
								
								compiler: small fixes and cleanups  
							
							
							
						 
						
							2010-05-13 02:48:20 -04:00  
				
					
						
							
							
								 
						
							
							
								dd2a4c2c77 
								
							
								 
							
						 
						
							
							
								
								cpu.x86: GC root offsets were computed wrong in words containing alien calls  
							
							
							
						 
						
							2010-05-04 02:53:53 -04:00  
				
					
						
							
							
								 
						
							
							
								f804c9c422 
								
							
								 
							
						 
						
							
							
								
								Move compile-call and related words only meant to be used for debugging to compiler.test  
							
							
							
						 
						
							2010-01-23 00:39:56 +13:00  
				
					
						
							
							
								 
						
							
							
								df4fb4a3ee 
								
							
								 
							
						 
						
							
							
								
								Removing integers-as-sequences  
							
							
							
						 
						
							2010-01-15 07:15:33 +13:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								7fac3682a6 
								
							
								 
							
						 
						
							
							
								
								update some naked alien-invokes to use c-type words  
							
							
							
						 
						
							2009-10-21 18:44:00 -05:00  
				
					
						
							
							
								 
						
							
							
								08a2eb74f4 
								
							
								 
							
						 
						
							
							
								
								cpu.x86: shifts didn't work if dst != src1; re-organize file a bit  
							
							
							
						 
						
							2009-09-28 05:39:53 -05:00  
				
					
						
							
							
								 
						
							
							
								aa3b9097c8 
								
							
								 
							
						 
						
							
							
								
								compiler: fix codegen test  
							
							
							
						 
						
							2009-09-27 22:23:03 -05:00  
				
					
						
							
							
								 
						
							
							
								999b22788e 
								
							
								 
							
						 
						
							
							
								
								compiler: add a unit test  
							
							
							
						 
						
							2009-09-27 20:36:19 -05:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								7d39499d86 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.ssa.cssa: correctly handle overflowing fixnum instructions  
							
							
							
						 
						
							2009-09-23 02:47:56 -05:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								01d2ef415a 
								
							
								 
							
						 
						
							
							
								
								get compiler tests loading  
							
							
							
						 
						
							2009-09-16 09:20:47 -05:00  
				
					
						
							
							
								 
						
							
							
								ff8c70dbe0 
								
							
								 
							
						 
						
							
							
								
								Initial implementation of SSE vector intrinsics:  
							
							... 
							
							
							
							- cpu.architecture: add SSE vector representations
- compiler.cfg.intrinsics.alien: remove an attempt at optimization that value numbering handles now
- compiler.cfg.representations: support instructions where the representation is set in the 'rep' slot, and support conversions between single and double floats
- alien-float, set-alien-float now use the single float representation, and the conversion is implicit; this fixes a long-standing bug where a register could get clobbered because of how %set-alien-float was defined on x86
- math.vectors.specialization: add support for SIMD specialization (where the vector word's body is replaced by another quotation), also specialize the 'sum' word
- math.vectors.simd: 4float-array, 2double-array, 4double-array types, and specializers for the math.vectors words 
							
						 
						
							2009-09-03 02:33:07 -05:00  
				
					
						
							
							
								 
						
							
							
								bd629c1262 
								
							
								 
							
						 
						
							
							
								
								compiler/tests/codegen.factor: don't do exact float comparison  
							
							
							
						 
						
							2009-08-30 18:57:45 -05:00  
				
					
						
							
							
								 
						
							
							
								0db01f6d5f 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan now supports partial sync-points where all registers are spilled; taking advantage of this, there are new trigonometric intrinsics which yield a 2x performance boost on benchmark.struct-arrays and a 25% boost on benchmark.partial-sums  
							
							
							
						 
						
							2009-08-30 04:52:01 -05:00  
				
					
						
							
							
								 
						
							
							
								8f19f14c1f 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.instructions: forgot that ##box-displaced-alien needs a GC check; fixes segfault in benchmark.mandel  
							
							
							
						 
						
							2009-08-27 04:09:35 -05:00  
				
					
						
							
							
								 
						
							
							
								d20d335447 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stacks: more accurate deconcatenatization inserts fewer partially redundant ##peeks. 11% improvement on benchmark.beust2, 2% reduction in ##peek and ##replace instructions inserted  
							
							
							
						 
						
							2009-08-03 07:08:28 -05:00  
				
					
						
							
							
								 
						
							
							
								21489ce85e 
								
							
								 
							
						 
						
							
							
								
								compiler tests: add test case for coalescing bug  
							
							
							
						 
						
							2009-08-02 03:49:54 -05:00  
				
					
						
							
							
								 
						
							
							
								20ec574965 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.ssa.destruction: fix bug in trivial-interference heuristic, and type error in code path that didn't run before  
							
							
							
						 
						
							2009-08-01 20:22:31 -05:00  
				
					
						
							
							
								 
						
							
							
								7c43f71c6d 
								
							
								 
							
						 
						
							
							
								
								compiler: Oops, typos in unit tests  
							
							
							
						 
						
							2009-07-31 22:33:02 -05:00  
				
					
						
							
							
								 
						
							
							
								d515715b0c 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.ssa.destruction: fix bug in renaming triggered by sequence-parser:take-sequence  
							
							
							
						 
						
							2009-07-31 18:34:15 -05:00  
				
					
						
							
							
								 
						
							
							
								cb07256ff5 
								
							
								 
							
						 
						
							
							
								
								Add some compiler tests  
							
							
							
						 
						
							2009-07-28 06:45:31 -05:00  
				
					
						
							
							
								 
						
							
							
								ff7f0e2f3b 
								
							
								 
							
						 
						
							
							
								
								Add testcase for recent bug  
							
							
							
						 
						
							2009-07-23 18:03:14 -05:00  
				
					
						
							
							
								 
						
							
							
								69ded76c66 
								
							
								 
							
						 
						
							
							
								
								Fixing compiler tests  
							
							
							
						 
						
							2009-07-22 21:10:50 -05:00  
				
					
						
							
							
								 
						
							
							
								11731f8d48 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.value-numbering: merge in compiler.cfg.branch-folding  
							
							
							
						 
						
							2009-07-14 20:05:01 -05:00  
				
					
						
							
							
								 
						
							
							
								03cd550b93 
								
							
								 
							
						 
						
							
							
								
								Fix codegen test  
							
							
							
						 
						
							2009-07-14 16:11:14 -05:00  
				
					
						
							
							
								 
						
							
							
								2ace87370e 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.value-numbering: more optimizations  
							
							
							
						 
						
							2009-07-14 16:05:25 -05:00  
				
					
						
							
							
								 
						
							
							
								fb488025aa 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.value-numbering.rewrite: fix ##compare-imm rewrite rule  
							
							
							
						 
						
							2009-07-04 02:50:50 -05:00  
				
					
						
							
							
								 
						
							
							
								64f93e41a9 
								
							
								 
							
						 
						
							
							
								
								Various linear scan fixes  
							
							... 
							
							
							
							insert spill before reload to fix x86-32 regression
inactive splitting: if all inactive intervals' registers are in use, don't fail
fix stack analysis tests 
							
						 
						
							2009-06-13 17:35:40 -05:00  
				
					
						
							
							
								 
						
							
							
								ade5db2405 
								
							
								 
							
						 
						
							
							
								
								cpu.x86: fix small register intrinsics on x86-64  
							
							
							
						 
						
							2009-06-03 03:22:46 -05:00  
				
					
						
							
							
								 
						
							
							
								66a9416473 
								
							
								 
							
						 
						
							
							
								
								Update documentation for stricter vocabulary search path semantics  
							
							
							
						 
						
							2009-05-16 00:29:21 -05:00  
				
					
						
							
							
								 
						
							
							
								964fbd0a24 
								
							
								 
							
						 
						
							
							
								
								Fix test failures from ratio/complex built-in removal  
							
							
							
						 
						
							2009-04-30 00:38:55 -05:00  
				
					
						
							
							
								 
						
							
							
								7f766ab355 
								
							
								 
							
						 
						
							
							
								
								Update compiler tests for tag number changes  
							
							
							
						 
						
							2009-04-28 21:43:30 -05:00  
				
					
						
							
							
								 
						
							
							
								5f6c074edd 
								
							
								 
							
						 
						
							
							
								
								Split up types.c/h into smaller files, remove optimized slot from F_WORD struct  
							
							
							
						 
						
							2009-04-28 17:26:11 -05:00  
				
					
						
							
							
								 
						
							
							
								acd312ab19 
								
							
								 
							
						 
						
							
							
								
								fix IN: for compiler tests  
							
							
							
						 
						
							2009-04-26 00:51:47 -05:00  
				
					
						
							
							
								 
						
							
							
								1951d739a0 
								
							
								 
							
						 
						
							
							
								
								Stack effect declarations are mandatory on all words now  
							
							... 
							
							
							
							define-temp now takes an effect parameter
Fix compiler bug that Dan found
Stricter enforcement of * effects
Move compile-call from compiler.units to compiler 
							
						 
						
							2009-02-23 20:27:05 -06:00  
				
					
						
							
							
								 
						
							
							
								44bfff7c7b 
								
							
								 
							
						 
						
							
							
								
								Rename ##load-indirect to ##load-reference since this is more descriptive; value numbering doesn't assign expressions to ##load-reference nodes since this would end up folding literals which were eq? but not =  
							
							
							
						 
						
							2009-01-29 01:44:58 -06:00  
				
					
						
							
							
								 
						
							
							
								3e685b2eb4 
								
							
								 
							
						 
						
							
							
								
								Add test case for bug discovered by erg  
							
							
							
						 
						
							2009-01-28 23:35:41 -06:00  
				
					
						
							
							
								 
						
							
							
								f34c14a0f5 
								
							
								 
							
						 
						
							
							
								
								Remove some usages of tuck  
							
							
							
						 
						
							2009-01-23 18:20:47 -06:00  
				
					
						
							
							
								 
						
							
							
								34792a9f23 
								
							
								 
							
						 
						
							
							
								
								Remove >r/r>  
							
							
							
						 
						
							2008-12-17 19:17:37 -06:00  
				
					
						
							
							
								 
						
							
							
								e8a69a3aea 
								
							
								 
							
						 
						
							
							
								
								Fix conflict  
							
							
							
						 
						
							2008-11-29 05:14:49 -06:00  
				
					
						
							
							
								 
						
							
							
								52f1ff3a95 
								
							
								 
							
						 
						
							
							
								
								Fix conflict  
							
							
							
						 
						
							2008-11-29 04:23:23 -06:00  
				
					
						
							
							
								 
						
							
							
								1c0789e616 
								
							
								 
							
						 
						
							
							
								
								Didn't generate ##branch after ##alien-invoke and ##alien-indirect  
							
							
							
						 
						
							2008-11-29 03:46:57 -06:00  
				
					
						
							
							
								 
						
							
							
								26c002d23f 
								
							
								 
							
						 
						
							
							
								
								Fix fixnum* problem; result was shifted to the right by 3 bits if both input registers were equal  
							
							
							
						 
						
							2008-11-29 00:44:46 -06:00  
				
					
						
							
							
								 
						
							
							
								c1d249afb2 
								
							
								 
							
						 
						
							
							
								
								Add unit test  
							
							
							
						 
						
							2008-11-29 00:37:07 -06:00  
				
					
						
							
							
								 
						
							
							
								f2040c0529 
								
							
								 
							
						 
						
							
							
								
								Add some more tests  
							
							
							
						 
						
							2008-11-24 11:12:36 -06:00  
				
					
						
							
							
								 
						
							
							
								2fe364a7bb 
								
							
								 
							
						 
						
							
							
								
								Specialized arrays work in progress  
							
							
							
						 
						
							2008-11-14 20:18:16 -06:00  
				
					
						
							
							
								 
						
							
							
								5b4e8e9d09 
								
							
								 
							
						 
						
							
							
								
								Rename tests/templates.factor to tests/codegen.factor since that's really what its testing  
							
							
							
						 
						
							2008-11-13 04:16:58 -06:00