75a3e191b2 
								
							
								 
							
						 
						
							
							
								
								compiler.*: a bunch of random doc additions  
							
							
							
						 
						
							2016-06-21 23:15:20 +02:00  
				
					
						
							
							
								 
						
							
							
								f692200547 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: refactoring which removes spill-area-size and  
							
							... 
							
							
							
							spill-area-align from cfg
This makes the code for building the stack frame simpler. 
							
						 
						
							2015-11-04 07:53:19 +01:00  
				
					
						
							
							
								 
						
							
							
								9ec74563ba 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: use "f [ or ] reduce" instead of "map [ ] any?"  
							
							
							
						 
						
							2015-07-21 09:54:44 -07:00  
				
					
						
							
							
								 
						
							
							
								d24733e703 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.build-stack-frame: refactoring which removes the  
							
							... 
							
							
							
							frame-required? variable 
							
						 
						
							2015-07-21 13:40:50 +02:00  
				
					
						
							
							
								 
						
							
							
								bc8525bf5b 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.build-stack-frame: the frame-required? variable needs to be  
							
							... 
							
							
							
							reset so that stack frames aren't included in words that doesn't need them 
							
						 
						
							2015-07-21 13:35:22 +02:00  
				
					
						
							
							
								 
						
							
							
								59f3b1ea57 
								
							
								 
							
						 
						
							
							
								
								Revert "factor: rename [ ] [ ] unit-test -> { } [ ] unit-test using a refactoring tool!"  
							
							... 
							
							
							
							Needs a bit more work.
This reverts commit 7e54cc2824 
							
						 
						
							2015-07-02 13:47:06 -07:00  
				
					
						
							
							
								 
						
							
							
								7e54cc2824 
								
							
								 
							
						 
						
							
							
								
								factor: rename [ ] [ ] unit-test -> { } [ ] unit-test using a refactoring tool!  
							
							
							
						 
						
							2015-07-02 11:36:08 -07:00  
				
					
						
							
							
								 
						
							
							
								c65877104e 
								
							
								 
							
						 
						
							
							
								
								compiler: cleanup usings.  
							
							
							
						 
						
							2014-12-13 16:10:21 -08:00  
				
					
						
							
							
								 
						
							
							
								1911b183a0 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.build-stack-frame: fix tests.  
							
							
							
						 
						
							2014-12-12 15:22:22 -08:00  
				
					
						
							
							
								 
						
							
							
								8f4c4ea2e1 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.build-stack-frame: some cleanup.  
							
							
							
						 
						
							2014-12-12 11:59:23 -08:00  
				
					
						
							
							
								 
						
							
							
								068ddd6c7b 
								
							
								 
							
						 
						
							
							
								
								compiler: cleanup cfg passes to have stack effect ( cfg -- )  
							
							
							
						 
						
							2014-12-11 12:48:43 -08:00  
				
					
						
							
							
								 
						
							
							
								53b7f82368 
								
							
								 
							
						 
						
							
							
								
								Docs: more compiler docs  
							
							
							
						 
						
							2014-12-11 14:30:46 +01:00  
				
					
						
							
							
								 
						
							
							
								9b7a873f6d 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.build-stack-frame.tests: improved fix for the test case  
							
							
							
						 
						
							2014-11-24 03:42:27 +01:00  
				
					
						
							
							
								 
						
							
							
								46174ab748 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.build-stack-frame: Fix test for win64  
							
							
							
						 
						
							2014-11-18 14:21:45 -08:00  
				
					
						
							
							
								 
						
							
							
								8a0b4c3d26 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.build-stack-frame: stub docs and tests for vocab  
							
							
							
						 
						
							2014-11-16 06:25:53 -08:00  
				
					
						
							
							
								 
						
							
							
								1985705413 
								
							
								 
							
						 
						
							
							
								
								compiler: now that FFI has been deconcatenatized, we no longer need the special ##unary-float-function and ##binary-float-function fastpaths  
							
							
							
						 
						
							2010-08-13 23:59:19 -07:00  
				
					
						
							
							
								 
						
							
							
								168dd1f825 
								
							
								 
							
						 
						
							
							
								
								FFI rewrite part 7: compile callback bodies with the optimizing compiler  
							
							
							
						 
						
							2010-07-28 00:49:26 -04:00  
				
					
						
							
							
								 
						
							
							
								e27adb2830 
								
							
								 
							
						 
						
							
							
								
								compiler: re-architect low-level optimizer to allow more than one output value per instruction  
							
							
							
						 
						
							2010-07-13 07:40:14 -04:00  
				
					
						
							
							
								 
						
							
							
								ba7cb61133 
								
							
								 
							
						 
						
							
							
								
								Stack allocation improvements  
							
							... 
							
							
							
							- New with-out-parameters combinator
- Inhibit tail call optimization in frames with local allocation, to ensure that passing a stack allocated value to the last word in the quotation works
- local allocations are now aligned properly
- spill slots are now aligned properly aligned in frames which have parameter and local allocation areas 
							
						 
						
							2010-05-22 02:37:00 -04:00  
				
					
						
							
							
								 
						
							
							
								77516c6932 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: generalize ##prepare-struct-caller instruction to alloca()-like ##local-allot  
							
							
							
						 
						
							2010-05-19 00:33:15 -04:00  
				
					
						
							
							
								 
						
							
							
								6eaf2d7534 
								
							
								 
							
						 
						
							
							
								
								cpu.x86: add x87 codegen for Model T enthusiasts  
							
							
							
						 
						
							2010-05-17 11:35:47 -04:00  
				
					
						
							
							
								 
						
							
							
								7ff309d50e 
								
							
								 
							
						 
						
							
							
								
								cpu.x86: get rid of this extra-stack-space nonsense  
							
							
							
						 
						
							2010-05-17 02:14:44 -04:00  
				
					
						
							
							
								 
						
							
							
								3f8e13bf66 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: refactor stack frame code and fix frame pointer usage in callbacks  
							
							
							
						 
						
							2010-05-16 21:04:40 -04:00  
				
					
						
							
							
								 
						
							
							
								5b48cd2a63 
								
							
								 
							
						 
						
							
							
								
								FFI rewrite part 5: return value boxing and callback parameter boxing now uses vregs; simplify return value unboxing  
							
							
							
						 
						
							2010-05-16 03:43:23 -04:00  
				
					
						
							
							
								 
						
							
							
								c211c3e84e 
								
							
								 
							
						 
						
							
							
								
								FFI rewrite part 1: split up ##alien-invoke and friends into smaller instructions  
							
							
							
						 
						
							2010-05-09 21:36:52 -04:00  
				
					
						
							
							
								 
						
							
							
								f5c5d8b44c 
								
							
								 
							
						 
						
							
							
								
								compiler: remove flat machine representation and generate code directly from the CFG  
							
							
							
						 
						
							2010-05-03 17:34:32 -04:00  
				
					
						
							
							
								 
						
							
							
								43fc230c69 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: cleanups  
							
							
							
						 
						
							2010-05-03 17:34:18 -04:00  
				
					
						
							
							
								 
						
							
							
								95ff5ffe51 
								
							
								 
							
						 
						
							
							
								
								New GC checks work in progress  
							
							
							
						 
						
							2010-05-03 17:34:16 -04:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								cc5476c823 
								
							
								 
							
						 
						
							
							
								
								_gc instruction doesn't need slot to hold GC root area size, since that's just tagged-values>> length  
							
							
							
						 
						
							2009-08-09 03:08:13 -05:00  
				
					
						
							
							
								 
						
							
							
								725280d424 
								
							
								 
							
						 
						
							
							
								
								Split off the notion of a register representation from a register class  
							
							
							
						 
						
							2009-08-07 17:44:50 -05:00  
				
					
						
							
							
								 
						
							
							
								fdef772d67 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: if a block has an instruction that kills values it must be the only instruction in the block  
							
							
							
						 
						
							2009-07-19 20:12:04 -05:00  
				
					
						
							
							
								 
						
							
							
								e76dce8aff 
								
							
								 
							
						 
						
							
							
								
								Overflowing fixnum intrinsics now expand into several CFG nodes. This speeds up the common case since only the uncommon case is now a stack syncpoint  
							
							
							
						 
						
							2009-07-16 18:29:40 -05:00  
				
					
						
							
							
								 
						
							
							
								2d231f066a 
								
							
								 
							
						 
						
							
							
								
								GC checks now save and restore registers  
							
							
							
						 
						
							2009-06-02 18:23:47 -05:00