Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								2fe26444aa 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.builder.*: docs and tests  
							
							 
							
							
							
						 
						
							2016-05-24 17:22:38 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								b8e0d5e278 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.builder.*: the when* checks aren't needed  
							
							 
							
							
							
						 
						
							2016-04-30 09:28:30 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								4a472d7882 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.builder.blocks: return the slots, they are absolutely  
							
							 
							
							... 
							
							
							
							needed for bootstrap 
							
						 
						
							2016-03-16 14:08:49 +01:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								f906f1c282 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: the make-kill-block word is not needed  
							
							 
							
							
							
						 
						
							2016-03-16 12:26:03 +01:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								5ca571e304 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.builder.blocks: some cleanup  
							
							 
							
							
							
						 
						
							2016-03-16 11:48:31 +01:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								b27634bff7 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.builder.blocks: removes assignments to basic-block variable  
							
							 
							
							... 
							
							
							
							Now it isn't used at all in the cfg creation step. 
							
						 
						
							2016-03-09 23:24:43 +01:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								9df955e199 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: big changes which removes the last basic-block uses  
							
							 
							
							... 
							
							
							
							All intrinsic code generating words signatures are changed from ( node
-- ) to ( block node -- block' ) so the current block is now always
passed on the stack. 
							
						 
						
							2016-03-09 23:24:42 +01:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								482998974b 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: more refactoring to remove basic-block get:s  
							
							 
							
							... 
							
							
							
							Now almost all words pass around the current basic block on the
stack. Left is updating all intrinsics. 
							
						 
						
							2016-03-09 23:24:42 +01:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								f9c6d7cc43 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: changes to remove basic-block variable  
							
							 
							
							... 
							
							
							
							The emit-node generics signature is changed to ( block node -- block' )
so that it always returns the next block to operate on. Signature for a
lot of related words are changed similarily. Now there is only a few
basic-block usages left. 
							
						 
						
							2016-03-09 23:24:42 +01:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								07adc2ecae 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: changed generic emit-node to take the current block as  
							
							 
							
							... 
							
							
							
							stack parameter
The idea is to eventually completely remove the basic-block dynamic
variable from cfg construction. 
							
						 
						
							2016-03-09 23:24:42 +01:00  
						
					 
				
					
						
							
							
								 
								John Benediktsson
							
						 
						
							 
							
							
							
								
							
								3affad7681 
								
							
								 
							
						 
						
							
							
								
								docs: using $maybe.  
							
							 
							
							
							
						 
						
							2015-12-11 17:05:45 -08:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								6a2c36f5ec 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.builder.blocks: help-lint fix  
							
							 
							
							
							
						 
						
							2015-11-23 16:32:01 +01:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								63fd4d25cf 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: more fixes to pass basic-block on the stack than in a  
							
							 
							
							... 
							
							
							
							dynamic variable 
							
						 
						
							2015-11-22 01:06:11 +01:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								1421779c9e 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: refactors words to take a block parameter instead of  
							
							 
							
							... 
							
							
							
							using the basic-block dynamic variable
the idea is to make the code easier to follow by limiting the use of
dynamic variables 
							
						 
						
							2015-11-22 00:37:34 +01:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								655faadec9 
								
							
								 
							
						 
						
							
							
								
								compiler.*: now when we're tracking uninitialized locations instead of  
							
							 
							
							... 
							
							
							
							initialized ones, the height slot isn't needed on ##call anymore 
							
						 
						
							2015-05-17 07:59:34 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								8df92abeb9 
								
							
								 
							
						 
						
							
							
								
								compiler.*,cpu.*: add a height slot to ##call nodes, then other compiler  
							
							 
							
							... 
							
							
							
							passes can much easier to accurate liveness analysis on stack locations 
							
						 
						
							2015-05-09 20:04:22 -07:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								177a356240 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stacks.local: refactorings on the vocab to try and make it using less dynamic variables  
							
							 
							
							
							
						 
						
							2015-04-29 09:31:56 -07:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								0ff4c68e15 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stacks.local: to simplify, end-local-analysis can take the block it operates on as argument  
							
							 
							
							
							
						 
						
							2015-04-29 09:31:56 -07:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								2536943e82 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: new word connect-Nto1-bbs  
							
							 
							
							... 
							
							
							
							using that word predecessors is already up-to-date so calling needs-predecessors isn't needed 
							
						 
						
							2015-04-29 09:31:55 -07:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								8a7699e42c 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: refactoring to remove the initial-basic-block word  
							
							 
							
							
							
						 
						
							2015-04-29 09:31:55 -07:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								ba4736ff75 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stacks.local: change current-height to a two-tuple { { d emit-d } { r emit-r } } it makes the code a bit simpler  
							
							 
							
							
							
						 
						
							2015-04-29 09:31:54 -07:00  
						
					 
				
					
						
							
							
								 
								John Benediktsson
							
						 
						
							 
							
							
							
								
							
								c65877104e 
								
							
								 
							
						 
						
							
							
								
								compiler: cleanup usings.  
							
							 
							
							
							
						 
						
							2014-12-13 16:10:21 -08:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								769ca5550f 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: docs for compiler words  
							
							 
							
							
							
						 
						
							2014-08-13 11:01:11 -07:00  
						
					 
				
					
						
							
							
								 
								John Benediktsson
							
						 
						
							 
							
							
							
								
							
								bf473ec943 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: fix some docs.  
							
							 
							
							
							
						 
						
							2014-06-08 18:20:27 -07:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								160df8b3f1 
								
							
								 
							
						 
						
							
							
								
								Docs: for compiler.cfg.* vocabs  
							
							 
							
							
							
						 
						
							2014-06-08 11:48:31 -07:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								2d7f344109 
								
							
								 
							
						 
						
							
							
								
								Docs: more docs for compiler.cfg.* words  
							
							 
							
							
							
						 
						
							2014-06-08 11:48:30 -07:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								6cca0ea468 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: Rename <##foo> to ##foo, in the low-level IR  
							
							 
							
							
							
						 
						
							2011-11-11 19:48:38 -08:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								eb2a0c611b 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: Change low-level IR constructors from ##foo to <##foo>  
							
							 
							
							
							
						 
						
							2011-11-06 23:02:46 -08:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7e24994db5 
								
							
								 
							
						 
						
							
							
								
								Whitespace fix  
							
							 
							
							
							
						 
						
							2010-06-23 03:56:17 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								68cd067f31 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.builder: if there is a conditional where every branch is known to throw an error, don't process any of the (unreachable) code after the conditional, since this can confuse analysis (reported by Daniel Ehrenberg)  
							
							 
							
							
							
						 
						
							2010-06-23 03:33:15 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c211c3e84e 
								
							
								 
							
						 
						
							
							
								
								FFI rewrite part 1: split up ##alien-invoke and friends into smaller instructions  
							
							 
							
							
							
						 
						
							2010-05-09 21:36:52 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7590ad3574 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: introduce less temporaries when building CFG  
							
							 
							
							
							
						 
						
							2009-07-24 03:37:18 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d947c61bd7 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stacks: now performs online local DCN  
							
							 
							
							
							
						 
						
							2009-07-23 20:54:38 -05:00