Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								349f99661d 
								
							
								 
							
						 
						
							
							
								
								compiler.*: Remove the scrubbing part of the GC maps  
							
							 
							
							... 
							
							
							
							Instead of generating GC maps which describe which stack locations that
are uninitialized, we emit ##clear instructions for those locations in
front of ##call-gc instructions. This makes the context root scanning
much simpler because the GC can assume that all stack slots are
initialized. It also removes the compiler.cfg.stacks.vacant pass and
seem to reduce the image size slightly because many fewer GC maps needs
to be emitted. 
							
						 
						
							2016-09-11 20:34:44 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								640759ffed 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: new step in finalization: clear-uninitialized  
							
							 
							
							... 
							
							
							
							this step is supposed to analyze the cfg, find where there are peeks
that can cause stack underflow, and insert replace-imm instructions so
that there are no uninitialized stack locations if they do. could fix  #1187  
							
						 
						
							2015-01-22 12:17:20 -08:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								163fef12f9 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: detached the normalize-height and schedule-instructions passes  
							
							 
							
							... 
							
							
							
							those stages cause uninitialized "holes" in the stacks which in turn
causes gc errors if stack underflows occur 
							
						 
						
							2015-01-22 12:17:20 -08:00  
						
					 
				
					
						
							
							
								 
								John Benediktsson
							
						 
						
							 
							
							
							
								
							
								c65877104e 
								
							
								 
							
						 
						
							
							
								
								compiler: cleanup usings.  
							
							 
							
							
							
						 
						
							2014-12-13 16:10:21 -08:00  
						
					 
				
					
						
							
							
								 
								John Benediktsson
							
						 
						
							 
							
							
							
								
							
								068ddd6c7b 
								
							
								 
							
						 
						
							
							
								
								compiler: cleanup cfg passes to have stack effect ( cfg -- )  
							
							 
							
							
							
						 
						
							2014-12-11 12:48:43 -08:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								e961a03837 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stacks.vacant: compiler pass replacing uninitialized for more accurate stack maps  
							
							 
							
							... 
							
							
							
							This pass uses a better algorithm for keeping track of all stack
manipulations which means that the stack maps it assigns are much more
precise. 
							
						 
						
							2014-09-08 14:54:17 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								f225bf7f55 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.finalization: reenable scheduling  
							
							 
							
							... 
							
							
							
							Prolog safepoint appears to work with it enabled 
							
						 
						
							2011-11-23 11:11:27 -08:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								6498bc65ce 
								
							
								 
							
						 
						
							
							
								
								compiler: emit safepoints in optimized prologs  
							
							 
							
							
							
						 
						
							2011-11-23 11:11:25 -08:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c677c35de4 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: fix major facepalm with write barrier elimination  
							
							 
							
							
							
						 
						
							2010-09-05 21:39:45 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								5fc9aa05b0 
								
							
								 
							
						 
						
							
							
								
								Revert "compiler.cfg: change linear ordering to place GC call blocks at the end"  
							
							 
							
							... 
							
							
							
							This reverts commit 544a288192 . 
							
						 
						
							2010-07-27 23:58:41 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								8adde5360a 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: change linear ordering to place GC call blocks at the end  
							
							 
							
							
							
						 
						
							2010-07-27 13:00:28 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								48e96ef032 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.scheduling: update to support multiple-output instructions  
							
							 
							
							
							
						 
						
							2010-07-15 17:38:34 -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
							
						 
						
							 
							
							
							
								
							
								a55c8ee671 
								
							
								 
							
						 
						
							
							
								
								FFI rewrite part 6: deconcatenatize  
							
							 
							
							
							
						 
						
							2010-07-02 15:44:12 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e86f434f26 
								
							
								 
							
						 
						
							
							
								
								Add GC maps to ##box, ##box-long-long, ##alien-invoke, ##alien-indirect and ##call-gc; remove ##gc-map instruction  
							
							 
							
							
							
						 
						
							2010-06-14 19:39:46 -04:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								4f66732c36 
								
							
								 
							
						 
						
							
							
								
								Fixing scheduling for compiler changes  
							
							 
							
							
							
						 
						
							2010-05-04 09:48:16 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								b02208ceb2 
								
							
								 
							
						 
						
							
							
								
								Some fixes to merge scheduling  
							
							 
							
							
							
						 
						
							2010-05-03 17:54:46 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								277705345f 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor into s3  
							
							 
							
							... 
							
							
							
							Conflicts:
	basis/compiler/cfg/finalization/finalization.factor 
							
						 
						
							2010-05-03 17:29:03 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								4352902bb6 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.empty-blocks: remove unused pass  
							
							 
							
							
							
						 
						
							2010-05-03 18:23:54 -04:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								5509604ffe 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into s3  
							
							 
							
							... 
							
							
							
							Conflicts:
	basis/compiler/cfg/optimizer/optimizer.factor 
							
						 
						
							2010-05-03 17:19:28 -05: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
							
						 
						
							 
							
							
							
								
							
								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