Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								367bff6339 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.builder: simplification of the shuffling logic  
							
							 
							
							
							
						 
						
							2016-09-04 06:22:54 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								75a3e191b2 
								
							
								 
							
						 
						
							
							
								
								compiler.*: a bunch of random doc additions  
							
							 
							
							
							
						 
						
							2016-06-21 23:15:20 +02: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
							
						 
						
							 
							
							
							
								
							
								3a9b297b3b 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: better stack effect for end-stack-analysis  
							
							 
							
							
							
						 
						
							2016-03-16 10:53:33 +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  
						
					 
				
					
						
							
							
								 
								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
							
						 
						
							 
							
							
							
								
							
								4db173cadb 
								
							
								 
							
						 
						
							
							
								
								compiler.*: random doc and tests updates  
							
							 
							
							
							
						 
						
							2015-09-22 08:52:59 +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
							
						 
						
							 
							
							
							
								
							
								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
							
						 
						
							 
							
							
							
								
							
								6559382028 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: ds-load removed  
							
							 
							
							
							
						 
						
							2015-04-29 09:31:55 -07:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								cc1903bec1 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: some refactoring in the stack tracking for #shuffle nodes  
							
							 
							
							... 
							
							
							
							instead of having separate words for the stacks like inc-d/r and ds/rs-store use generic words that work on either stack 
							
						 
						
							2015-04-29 09:31:55 -07:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								837e098d41 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: a little more docs  
							
							 
							
							
							
						 
						
							2015-04-29 09:31:54 -07:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								5782855343 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: more docs  
							
							 
							
							
							
						 
						
							2014-12-31 03:37:16 +01:00  
						
					 
				
					
						
							
							
								 
								John Benediktsson
							
						 
						
							 
							
							
							
								
							
								e5c69d3e9b 
								
							
								 
							
						 
						
							
							
								
								compiler: try this for compiler.cfg.builder.alien.  
							
							 
							
							
							
						 
						
							2014-12-13 18:44:35 -08:00  
						
					 
				
					
						
							
							
								 
								John Benediktsson
							
						 
						
							 
							
							
							
								
							
								a689211ae1 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.builder: use compiler.cfg.builder.alien.  
							
							 
							
							
							
						 
						
							2014-12-13 18:08:50 -08:00  
						
					 
				
					
						
							
							
								 
								John Benediktsson
							
						 
						
							 
							
							
							
								
							
								c65877104e 
								
							
								 
							
						 
						
							
							
								
								compiler: cleanup usings.  
							
							 
							
							
							
						 
						
							2014-12-13 16:10:21 -08:00  
						
					 
				
					
						
							
							
								 
								John Benediktsson
							
						 
						
							 
							
							
							
								
							
								559b5bfa5b 
								
							
								 
							
						 
						
							
							
								
								using the new H{ } make.  
							
							 
							
							
							
						 
						
							2012-07-19 09:50:09 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								6498bc65ce 
								
							
								 
							
						 
						
							
							
								
								compiler: emit safepoints in optimized prologs  
							
							 
							
							
							
						 
						
							2011-11-23 11:11:25 -08: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  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								c06be95816 
								
							
								 
							
						 
						
							
							
								
								compiler: no spurious safepoint at start of loops  
							
							 
							
							
							
						 
						
							2011-10-27 21:14:48 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								e449fef4e3 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.builder: safepoint loops and epilogs  
							
							 
							
							
							
						 
						
							2011-10-27 21:14:46 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a55c8ee671 
								
							
								 
							
						 
						
							
							
								
								FFI rewrite part 6: deconcatenatize  
							
							 
							
							
							
						 
						
							2010-07-02 15:44:12 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0cde5c8fb5 
								
							
								 
							
						 
						
							
							
								
								Eliminate compiler.alien  
							
							 
							
							
							
						 
						
							2010-05-11 23:24:47 -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
							
						 
						
							 
							
							
							
								
							
								e763c74096 
								
							
								 
							
						 
						
							
							
								
								More FFI cleanups  
							
							 
							
							
							
						 
						
							2010-05-05 01:13:45 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								82fb1879af 
								
							
								 
							
						 
						
							
							
								
								Debugging untagged fixnums  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:02 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								8f0739197e 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: fix some bugs introduced by the ##compare-imm fusion patch  
							
							 
							
							
							
						 
						
							2010-04-18 21:42:45 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2aaf24412a 
								
							
								 
							
						 
						
							
							
								
								compiler: change how 'f' is represented in low level IR to simplify some code, and fuse a ##load-constant of a word with a ##compare into a ##compare-imm on x86-32. This eliminates a spill from binary-search  
							
							 
							
							
							
						 
						
							2010-04-18 21:42:45 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ba5b90e063 
								
							
								 
							
						 
						
							
							
								
								Change how non-volatile register preservation is done in alien callbacks, with the aim of fixing callbacks on PowerPC, and to eventually eliminate assembly code from VM  
							
							 
							
							... 
							
							
							
							- Simplify calculation of offset in relocation table
- Open-code %alien-callback
- Remove magic_frame hack from context objects
- Move magical return instruction from optimizing compiler backend into callback entry stub 
							
						 
						
							2010-01-03 01:11:51 +13:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								67cc1c01be 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into simd-cleanup  
							
							 
							
							
							
						 
						
							2009-11-26 16:14:46 -08:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								65d8060075 
								
							
								 
							
						 
						
							
							
								
								fix simd intrinsic compilation  
							
							 
							
							
							
						 
						
							2009-11-24 11:37:28 -08:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0612bc6177 
								
							
								 
							
						 
						
							
							
								
								Factor source files should not be executable  
							
							 
							
							
							
						 
						
							2009-11-21 17:50:43 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1e7893b6ce 
								
							
								 
							
						 
						
							
							
								
								compiler: FFI is now slightly more efficient when unboxing parameters, only changes data stack height once  
							
							 
							
							
							
						 
						
							2009-10-20 04:31:48 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								4d16c569f0 
								
							
								 
							
						 
						
							
							
								
								struct classes now make their own C type without help from alien.structs. remove alien.structs dependencies from everywhere outside of alien and compiler, and have the FFI handle both alien.structs and classes.struct c-types  
							
							 
							
							
							
						 
						
							2009-09-15 17:38:49 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								85a2bfab6c 
								
							
								 
							
						 
						
							
							
								
								compiler: eliminate boilerplate by centralizing info in declarative INSN: syntax  
							
							 
							
							
							
						 
						
							2009-09-02 06:22:37 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								8a9c15ab0b 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.escape-analysis: if the output of an #introduce node has an immutable tuple class type declaration, and it is not passed to any subroutine calls, or returned from the word, then unbox it. This speeds up vector arithmetic words on specialized arrays, because the specialized array is unboxed up-front, eliminating an indirection on every loop iteration  
							
							 
							
							
							
						 
						
							2009-08-09 16:29:21 -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
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d10993b837 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: Rename ssa to ssa.construction, coalescing to ssa.destruction  
							
							 
							
							
							
						 
						
							2009-07-28 09:34:08 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7590ad3574 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: introduce less temporaries when building CFG  
							
							 
							
							
							
						 
						
							2009-07-24 03:37:18 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2bea107202 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.builder: fix stack effect declaration  
							
							 
							
							
							
						 
						
							2009-07-23 21:24:15 -05:00