Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								6097e80178 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: fixing tests so they work on 32bit archs too  
							
							 
							
							
							
						 
						
							2015-04-30 04:49:48 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								6215561ad4 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: more docs and removing a test that isn't relevant anymore  
							
							 
							
							
							
						 
						
							2015-04-29 09:31:59 -07:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								135d7f5ff3 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: more unit tests  
							
							 
							
							
							
						 
						
							2015-04-29 09:31:59 -07:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								997f95196c 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: lots of new unit tests  
							
							 
							
							
							
						 
						
							2015-04-29 09:31:58 -07:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								167d1598b3 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.allocation.*: lots more docs and some word simplifications  
							
							 
							
							
							
						 
						
							2015-04-29 09:31:58 -07:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								16f6025979 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.allocation.spilling: docs and tests for this vocab  
							
							 
							
							
							
						 
						
							2015-04-29 09:31:58 -07:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								5cd44dc07c 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.allocation.state: set spill-area-size/align when the cfg tuple is created  
							
							 
							
							
							
						 
						
							2015-04-29 09:31:57 -07:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								4cda101717 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.allocation.state: more docs and tests for vocab  
							
							 
							
							
							
						 
						
							2015-04-29 09:31:57 -07:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								ceebc1d6c1 
								
							
								 
							
						 
						
							
							
								
								compiler: Fix help-lint for @bjourne's recent awesome docs.  
							
							 
							
							
							
						 
						
							2015-01-17 14:02:59 -08:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								5782855343 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: more docs  
							
							 
							
							
							
						 
						
							2014-12-31 03:37:16 +01:00  
						
					 
				
					
						
							
							
								 
								John Benediktsson
							
						 
						
							 
							
							
							
								
							
								2a893a110a 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.allocation.state: don't use slot.syntax.  
							
							 
							
							
							
						 
						
							2014-12-15 13:10:59 -08:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								d6c1c075ff 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.allocation: using slurp-heap  
							
							 
							
							
							
						 
						
							2014-12-15 20:48:34 +01:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								84f8f26ce8 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.allocation.state: doc fixing  
							
							 
							
							
							
						 
						
							2014-12-15 20:44:53 +01:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								35d00da765 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.allocation.*: maybe a fix for  #1227  
							
							 
							
							... 
							
							
							
							The register allocator pops from the unhandled-intervals and
unhandled-sync-points heaps. If two live intervals share the same
start slot, then they can be popped in either order leading to
differently generated code. So instead use one
heap (unhandled-min-heap) and both the start and end slot as the heap
key to resolve tie-breakers 
							
						 
						
							2014-12-15 20:44:53 +01:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								8a011c8366 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: more docs  
							
							 
							
							
							
						 
						
							2014-12-15 20:44:07 +01:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								c810677b47 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.*: refactoring to simplify init-allocator and get rid of init-unhandled  
							
							 
							
							
							
						 
						
							2014-12-15 20:44:06 +01:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								fab478482e 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.allocation: refactoring to simplify the (allocate-registers) recursion  
							
							 
							
							
							
						 
						
							2014-12-15 20:44:06 +01:00  
						
					 
				
					
						
							
							
								 
								John Benediktsson
							
						 
						
							 
							
							
							
								
							
								c65877104e 
								
							
								 
							
						 
						
							
							
								
								compiler: cleanup usings.  
							
							 
							
							
							
						 
						
							2014-12-13 16:10:21 -08:00  
						
					 
				
					
						
							
							
								 
								John Benediktsson
							
						 
						
							 
							
							
							
								
							
								ad9d44aa2b 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.allocation.state: simplify init-unhandled.  
							
							 
							
							
							
						 
						
							2014-12-01 22:18:15 -08:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								d3c91bea72 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.*: stub docs and tests  
							
							 
							
							
							
						 
						
							2014-11-16 06:25:54 -08:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								1eac4afc8b 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.allocation.state: sub docs and tests  
							
							 
							
							
							
						 
						
							2014-11-16 06:25:53 -08:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								5f377c0849 
								
							
								 
							
						 
						
							
							
								
								compiler: Rename value-info, live-interval  
							
							 
							
							
							
						 
						
							2013-03-23 22:56:47 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								07227f22f9 
								
							
								 
							
						 
						
							
							
								
								WIP  
							
							 
							
							
							
						 
						
							2012-12-31 11:03:33 -08:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								2bd6de9a02 
								
							
								 
							
						 
						
							
							
								
								slots: pre-create the "at", "nth", and "global" slots to make deterministic the currently nondeterministic ambiguity between accessors:change-* and assocs:change-at, sequences:change-nth, and namespaces:change-global  
							
							 
							
							
							
						 
						
							2011-09-19 10:03:43 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								94f6ac98de 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: fix bad interaction between inactive intervals and sync points  
							
							 
							
							
							
						 
						
							2010-07-29 21:06:48 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								adc9db3ea8 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.allocation: fix wrong order  
							
							 
							
							
							
						 
						
							2010-07-19 06:46:50 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								b776a92546 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: fix bad interaction between split position calculation and register-clobbering instructions  
							
							 
							
							
							
						 
						
							2010-07-18 17:38:52 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e27adb2830 
								
							
								 
							
						 
						
							
							
								
								compiler: re-architect low-level optimizer to allow more than one output value per instruction  
							
							 
							
							
							
						 
						
							2010-07-13 07:40:14 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								6d30bb8bf4 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: pointless optimizations  
							
							 
							
							
							
						 
						
							2010-05-14 18:37:08 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								eb802208d1 
								
							
								 
							
						 
						
							
							
								
								FFI rewrite part 4: parameter and return value unboxing redesign  
							
							 
							
							
							
						 
						
							2010-05-11 19:11:44 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								982e704626 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: clean up clobber-insn handling  
							
							 
							
							
							
						 
						
							2010-05-07 18:22:35 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								627295f094 
								
							
								 
							
						 
						
							
							
								
								Language change: tuple slot setter words with stack effect ( value object -- ) are now named FOO<< instead of (>>FOO)  
							
							 
							
							
							
						 
						
							2010-05-06 17:21:02 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f5c5d8b44c 
								
							
								 
							
						 
						
							
							
								
								compiler: remove flat machine representation and generate code directly from the CFG  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:32 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ffd1844d52 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: clean up spill slot assignment  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:24 -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
							
						 
						
							 
							
							
							
								
							
								95ff5ffe51 
								
							
								 
							
						 
						
							
							
								
								New GC checks work in progress  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:16 -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
							
						 
						
							 
							
							
							
								
							
								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
							
						 
						
							 
							
							
							
								
							
								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
							
						 
						
							 
							
							
							
								
							
								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
							
						 
						
							 
							
							
							
								
							
								0db01f6d5f 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan now supports partial sync-points where all registers are spilled; taking advantage of this, there are new trigonometric intrinsics which yield a 2x performance boost on benchmark.struct-arrays and a 25% boost on benchmark.partial-sums  
							
							 
							
							
							
						 
						
							2009-08-30 04:52:01 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								4b7ba38aab 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: virtual registers are integers now, and representations are stored off to the side. Fix bug in representation selection that would manifest if a value was used as a float and a fixnum in different branches; cannot globally unbox float in this case  
							
							 
							
							
							
						 
						
							2009-08-08 04:02:18 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								725280d424 
								
							
								 
							
						 
						
							
							
								
								Split off the notion of a register representation from a register class  
							
							 
							
							
							
						 
						
							2009-08-07 17:44:50 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								370f4c081d 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: convert code into two-operand form before SSA destruction; SSA destruction now operates on a relaxed SSA form where multiple defs of the same vreg are allowed, but only within a single basic block. This makes linear scan's coalescing redundant, allowing it to be removed completely  
							
							 
							
							
							
						 
						
							2009-08-05 18:57:46 -05:00